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


