MyDiet

A database course project for keeping meals, goals, and diet plans in one desktop app

What I worked on

MyDiet came out of a Database Systems course. The interesting part was not just making a calorie counter; it was modelling foods, meals, plans, users, and nutritionists cleanly enough that the desktop interface could answer ordinary questions without turning every action into a special case.

What it can do

  • Meal log: record daily meals and calculate their calories.
  • History: keep past entries in a relational database instead of flat files.
  • Desktop screens: use Java Swing to browse and edit plans, foods, and goals.

How I organised it

I used MVC (Model-View-Controller) to keep database queries away from the Swing screens. That made it easier to change a view without also rewriting how meals and plans were stored.

  • Separate model, view, and controller packages
  • SQL constraints and transactions for data integrity
  • Event-driven UI updates

The database work

Meals and body measurements remain available over time, so a user can compare progress and adjust a plan. The database schema also keeps nutritionists, clients, foods, and tariffs connected without duplicating them in the UI.

Built with

Frontend & Backend: Java (Swing).
Database: MySQL.
Architecture: MVC Pattern.

Link repo: GitHub