Skip to content

albertnev/food-macro-conversor

Repository files navigation

This is a Next.js project bootstrapped with create-next-app.

Roadmap

Initial steps

  • Configure Typescript and NextJS.

  • Configure i18n for NextJS and React app.

  • Consider advantages of logged in users (Store custom added data? Where/How?).

    • Check availability Twitter log in.
    • Check availability Google log in.
  • Make initial fetch to a food database:

    • ❌ MyFitnessPal: CORS violation, private API.
    • ❌ FoodRepo.org: almost no images, not in spanish, inacurate search.
    • ✅ OpenFoodFacts: success, but no results for non-brand generic foods (potato, bread...).
    • ⬜ USDA API: only in English, but allows both branded and generic food search.
    • ✅ BEDCA: generic food only, requests and responses must be XML formatted.
  • Configure architecture to be able to use multiple data sources.

  • Postponed: Save preferences about preferred units and data sources.

App roadmap

v1.0

  • Select food from incoming external database fetched data.
  • Display selected food macronutrients and information.
  • Compare two selected foods.
  • Conversion between foods selecting one or more macronutrients.
    • The food amount will be according to the first macronutrient limit reached.
  • Change selected foods on conversion page.
  • Be able to switch selected foods.

v2.0

  • Change on demand source to get food data: deprecated as now all calls to all sources are made parallel.
  • Add capability to add custom food data and show it in results.
  • Use custom food in comparison and conversion functionalities.
  • Add full CRUD operations for added custom foods.
  • Add capability to edit personal settings (language, preferred units, preferred data sources...).

v3.0

  • Add different language translations and capability to change selected language.
  • Add measurement equivalences in conversion (100g -> 6 tablespoon).
  • Conversion between more than 2 selected foods to be able to compare.
    • Highlight the food with overall closer values.

v4.0

  • Redesign app appearance and UX.

Getting Started

First, install all dependencies and lbiraries running:

npm i

Once installed, run the development server:

npm run dev
# or
yarn dev

Open http://localhost:3000 with your browser to see the result.