Primus App

Primus app es una aplicación web que permite planificar y registrar entrenamientos de ejercicios de resistencia, así como generar dietas personalizadas.

El proyecto nace de una necesidad personal, quería un sitio donde poder generar plantillas de entrenamiento indicando el porcentaje de carga máxima de los ejercicios y que se calcularan automáticamente los pesos a levantar el día de entrenamiento. Con los registros de los entrenamientos pude trazar gráficas para detectar tendencias y posibles mejoras en la planificación de la temporada. El objetivo es aplicar algoritmos de machine learning para detectar desviaciones y por qué no, usar los datos como fuente de estudio.

Más adelante incorporé el apartado de nutrición. Es un tema que siempre ha rondado en mi cabeza y que siempre he trabajado con papel y boli o excels. Se puede definir la distribución de macros a las necesidades del usuario, añadir comidas con sus horarios y en cada comida los alimentos y sus cantidades. Siempre mostrando un total de calorías y macronutriente por comida y "dieta". Influenciado por el libro "Dieta para el cerebro", del Dr. Antonio Escribano incorporé los micronutrientes: vitaminas y minerales. Con este desarrollo la app te indica si la dieta generada es deficiente en algún micronutriente.

Mi premisa en la evolución de la app es que cualquier dato que se utilice para hacer cálculos tenga una fuente fiable. En caso contrario estaría provocando un daño a la persona.

El público de la aplicación requiere un conocimiento avanzado en la planificación de entrenamientos y nutrición. En sí, es una herramienta para planificar y mejorar tu productividad. Por último comentar que para usar la aplicación se requiere un usuario, el cual proporciono de forma privada.

Características técnicas

El proyecto fue inicialmente concebido totalmente en Django pero ya desde el inicio pienso que fue una idea incorrecta dadas las dificultades que me encontré para desarrollar la usabilidad que quería en el front. Ahí fue cuando descubrí Vue y su facilidad por manejar el front. En ese momento incorporé vue dentro de las plantillas de django. Se dio un salto enorme en la usabilidad y mi productividad, sin embargo estaba limitando ambos medios. Por ello decidí separar completamente el front y el back, dejando Django como una API y Vue consumiendo de los servicios. El producto final fue mejor de lo que pude pensar al inicio del proyecto y me abrió muchas puertas para seguir mejorando la aplicación y otros proeyctos.

Qué mejoré

Python con Django, django-rest
Javascript con Vue, Service workers, localStorage
Html y css