Time tracking application

Introduction

The Time Tracking Application is designed to help users track their daily activities and gain insights into how they can optimize their time in meaningful ways. Users can track different entry types like "Sleeping", "Working" or even "Dancing" and visualize their progress over time.

Where to find the project

Development version of application is hosted here
username: test-test-test
pass: OmgWow7117!
- note: Habit tracking feature isn't hosted so won't load in the development version of the app Link to habit tracking service's code

The application is built using a Next.js and React frontend, with a Node and Express backend. It is deployed using the Amplify Serverless framework, with user authentication handled by AWS Cognito. The database uses a NoSQL approach, with FastAPI and PostgreSQL, along with SQLAlchemy, being used for the habit tracking feature.


Planning and Research

The project began with determining the requirements and goals for the application, identifying the technologies that would be needed. Once this was done, then began research on each technology, identifying the best practices and optimal ways to integrate them into the project.

Following this created a detailed project plan that outlined the tasks, timelines, and resources required for the development process. The plan was reviewed and revised multiple times to ensure that all aspects of the project were accounted for.


Implementation

The development process began with the creation of the frontend using Next.js and React. Then created the backend using Node and Express, with the Amplify Serverless framework used for deployment.

AWS Cognito was used for user authentication, with a NoSQL approach used for the database. FastAPI and PostgreSQL, along with SQLAlchemy, were used for the habit tracking feature.

Using an agile development approach, with regular code reviews, testing, and continuous integration and deployment. This allowed for quick identification and resolution of any issues that arose during development.


Go-live

The application was deployed using the Amplify Serverless framework, with user authentication handled by AWS Cognito. Then conducted a user acceptance test, collecting feedback from a group of beta testers. The feedback was reviewed and used to make improvements to the application before an official launch.

Here's how it looked at the time


Conclusion

The app following launch was given a face lift and looks better today. However, since I've paused working on the project in place of other more interesting projects