#10 Pues creo que, teniendo claro lo que quieres conseguir, puedes empezar a dividir problemas.
- App web de conteo de calorías.
Define tu objetivo final y cómo te gustaría que funcionase, si supieras hacer todo. Por ejemplo: El usuario se logea, se le muestra una pantalla tipo dashboard con su evolución a lo largo del tiempo, un botón grande arriba para guardar los datos del día. Al hacer click en ese botón, le sale un buscador para que escribas alimentos, según vas escribiendo se autocompleta con los alimentos que tengas en la base de datos. Que haya una opción para añadir alimentos nuevos si es que el alimento no se encuentra en la BBDD. (De nuevo, me lo estoy inventando un poco en función de los datos que has comentado).
De ahí puedes empezar a extraer "piezas" y considerar cada una de esas piezas como algo nuevo que aprender. Una vez tengas todas las piezas, ya te encargarás de juntarlas. Yo me lo tomo como un puzzle. Es más fácil averiguar cómo funciona una pieza que 200 piezas a la vez. Yo me frustro mucho.
Has comentado que la interfaz la tienes controlada. Genial, pues eso de momento ignóralo, porque ya lo tienes. Otras piezas que puedes aprender
- Login
- Buscador
- Mostrar datos que vivan en una base de datos (los alimentos)
- Añadir datos a una base de datos
El login y el buscador es lo más jodido, en mi opinión. Te queda mostrar datos que vivan en una base de datos y añadirlos en función de lo que el usuario rellene.
¿Cómo se puede reducir más todavía este problema? Si en lugar de pensar en guardarlos en una base de datos, primero aprendes cómo manipular esos datos desde el cliente. En la propia web.
Ahí entra en juego lo que te comentaba de aprender un poco de javascript. Puedes reducir tu problema a una versión mucho más sencilla: Imagina que en una página HTML tienes una tabla con una lista de alimentos y quieres que el usuario, en un formulario, añada un alimento a esa lista cuando le de a un botón de guardar. Y que quieres sumar las calorías de todos los alimentos, por ejemplo, mostrándolo también en el html.
Pues habiendo reducido los elementos a: javascript, html, formulario y procesar datos, a buscar: p.ej. https://www.infoworld.com/article/2077176/using-javascript-and-forms.html (no estoy diciendo que el tutorial ese sea bueno, he hecho click literalmente en el primer link que he visto).
Cuando hayas visto cómo funciona eso, como puedes hacer que javascript haga cosas cuando el usuario envíe datos en un formulario, puedes ir volviendo a la versión original de tu problema, y acercándote más a su solución. Ahora en vez de mostrarlo solo en la web, hay que guardarlo. Pues antes de meterte con bases de datos, guárdalo en un objeto en memoria que tenga todos los alimentos. Así aprendes cómo están construidos los objetos en javascript, como pushear un nuevo elemento a un array, etc...
Todo esto asumiendo que lo que quieres es realmente hacer una app de cero para entender cómo funciona. Si no, si lo que te interesa es directamente tu resultado, creo que lo que quieres se puede conseguir bastante fácilmente con una "smart spreadsheet" que están muy de moda ahora, como airtable o incluso un Notion.