Teatime Tracker

I'm a diehard tea lover. I drink a TON of tea; maybe too much sometimes. I am aware that I drink a lot of tea, but it would be nice to know exactly just how much. That is why I made this application! I wanted an answer to my ever-present tea question.

I wrote this app in Visual Studio using ASP.NET Core MVC, Identity, and SQLServer Express. It's published using Azure AppService, Azure SQL Database, and Azure SQL Server.

The tracker needed some core functionalities; CRUD actions, reports, statistics, and recommendations. With those in mind, I started planning, writing, and deploying the app. Feel free to have a look at my code in my GitHub repository as well as some insight into my process below.

Class Diagram

This is a class diagram depicting the core flow of information and logic throughout the Teatime Tracker application. The yellow boxes represent the main models/database tables. Note: the identity user contains more fields and is auto-generated by AspNetCore Identity. The blue boxes are interfaces and the orange boxes are services that implement those interfaces. The red box is my main controller, “DashboardController”. It requires many services and manages control between the view and the data.

Class diagram showing basic format of Teatime Tracker.

Main Visuals

Here is part of the homepage of the application. Showing the Register/Login functions and the main navigation menu.

Teatime tracker homepage

This is the top part of the dashboard which is the heart of the application. From this page the users can quickly see their main statistics and add/edit cups of tea. Further down the page is a recommendation section that recommends the user's next cup of tea depending on the time and their caffeine intake. Finally at the bottom there is the reports section.

Teatime tracker dashboard

The reports section is lower down on the dashboard page. As of writing this there are three reports available to generate; cups per day, caffeine per day, and number of cups by type. Shown here is an example of the caffeine per day report.

Teatime tracker reports section

This page allows the user to add a cup of tea. First they select a type of tea from the database-populated list (black, green, herbal), once their selection is made the variety list populates with varieties of teas from the selected type. Then the user enters the date they had that cup of tea and hits save.

The edit page is very similar, first the user enters the date of the cup they want to edit and the page produces a list of teas from that day (very similar looking to the reports list). The user then clicks the cup and the edit page pre-populates the dropdowns which the user can then edit.

Teatime tracker add page

Get in contact!