← All projects

Built at AOSIS Tech · 2025 - 2026

Nutrition Tracking Application

A MERN stack web application for logging meals and tracking nutrition, built as a junior full-stack developer.

Watch demoView code ↗
ReactNode.jsExpress.jsMongoDBBootstrap

Overview

A full-stack nutrition and fitness tracking application built during my time as a junior full-stack developer at AOSIS Tech, covering the whole path from the database through the API to the interface.

The idea is that eating and moving are two halves of the same picture, so the app tracks both against one dashboard. A user logs the meals they eat and the workouts and cardio they do, and the calorie totals on the dashboard update from both sides as they go.

Features

Sign up and account creation

Users register with their own details, which become the basis for everything the app shows them afterwards. Nothing in the app is generic - the plan and the targets follow from what was entered at sign up.

Sign up and account creation

Personalized dashboard

The dashboard is built from the user's own information and acts as the single view of their day: calories consumed and calories burned, both updating as meals and workouts are logged. It is the screen everything else feeds back into.

Personalized dashboard

Meals across the day

Meals are organised into breakfast, lunch, dinner and snacks, so a full day is covered rather than a single meal at a time.

Meals across the day

Three options per meal

Each meal offers three alternatives rather than one fixed choice, so a user can follow the plan without eating the same thing every day - the difference between a plan someone keeps and one they abandon.

Three options per meal

Meal detail and logging

Opening a meal shows its full breakdown - protein, carbs, fat and calories - alongside the ingredient list and recipe steps. Marking it as eaten adds those calories to the dashboard immediately, so the daily total reflects what was actually consumed rather than what was planned.

Meal detail and logging

Workout routines

Workouts are grouped into full body, upper body and lower body routines, so a user can target what they want on a given day.

Workout routines

Exercise demonstrations and completion

Each routine lists its exercises with an animated GIF showing the movement, so the form is clear without a separate video. Marking the workout complete adds its calories burned to the dashboard.

Exercise demonstrations and completion

Cardio tracking

Running, cycling and walking are logged through a dropdown where the user enters the minutes spent on each. Calories burned are calculated from the duration and added to the daily total, so activity outside a structured workout still counts.

Cardio tracking

How it works

Challenges

Designing a data model for entries that change shape

Nutrition entries do not all carry the same fields - some items have complete nutritional data, others only partial. Modelling that in a document database meant deciding what to require, what to leave optional, and where to validate. Putting validation in the API rather than relying on the schema alone kept the database flexible while still rejecting incomplete data before it was stored.

← Back to all projects