MyDiet
Meal plans, progress records, and a relational database, in a Java desktop app.
What I worked on
I built MyDiet for a Database Systems course. The app connects clients and nutritionists through meal plans, goals, and progress records. Most of the work was in the database: deciding how those records relate to each other, then making them usable from a Java Swing interface.
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.
More screenshots (2)
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.
Source: GitHub