Food Journal


In your previous Blazor Apps, you’ve worked with fairly simple data models. The objective of the Food Journal project is to increase complexity with relational data, which always adds complexity to development of forms and collecting the user input. It also adds complexity to filters and report systems. Our goal won’t be to learn extra Blazor Features, but to use what was previously learned with a more challenging business case. So let’s get moving!


  • This is an application to track meals.
  • Your data schema should have at least a "Meals" and a "Foods" table, in a many-to-many relationship.
  • You should have a MealType enumeration (Breakfast, Lunch, Dinner, Snack), which will be recorded in the meals table.
  • Your app should have a vibrant color palette.
  • There should be a feature that allows the users to quickly record frequent meals.
  • There should be a search functionality (per date, per food, per meal type)
  • There should be a report feature with queries such as how many times the user had a certain food per period of time.


  • Tracking every meal requires incredible discipline. Your app needs to make recording meals very easy. Make each meal and food a button to make the process very agile.
  • If possible use icons to represent the foods, as it makes the app more pleasing to use. You can find excellent icons on


  • Add macronutrients categorization.
  • Add a "cheat meal" feature to record how many times the user ate junk food or candies.
  • Add goals such as: drinking 20 liters of water in a week, or avoiding chocolate for 7 days.
  • To enrich your app, try to fetch food data from a free Api: 6 Free Food APIs project.
Log in to mark this article as read and save your progress.
An unhandled error has occurred. Reload 🗙