Workout Tracker App

HTML, CSS, Python, Django

Screenshot of workout tracker site
GitHub Repo Live version

This is a workout tracker app that I built using Django. It is a full CRUD (Create, Read, Update, Delete) application built using Django's built-in SQLite database and Django's built-in ORM (Object Relational Mapper) to interact with the database. My previous two sites used a from-scratch user authentication system but for this site I utilized Django's built-in authentication system.

This site requires the user to log in before being able to use any features. To use the application without registering please use “test_user” for the username and “test_password” for the password.

Once logged in the user is brought to a home page where they can create a new workout. Once a workout is created, individual exercises, including the exercise name, the number of sets, the number of repetitions, and the weight per repetition, can be added to the existing workout. The "previous workouts" page shows a list of all of the user's workouts with the most recent at the top. Clicking on a workout allows the user to add an exercise to the workout, edit or delete exercises from the workout, or delete the entire workout. Before allowing the user to delete anything the app displays a JavaScript popup asking the user to confirm the deletion to prevent accidental deletions. The "edit profile" page allows the user to edit their username, name, and email address. Also, this site is my first site that allows the user to change their password and I was able to include this feature because I utilized Django's built-in authentication system rather than a built-from-scratch system like my previous two sites.

This was the third site I built and it is the site I am most proud of. The frontend of this site is by far the best looking of my three sites and it is more user friendly as I used CSS to indicate when the user hovers on or selects an input or button by outlining it. This is also my first site that is responsive to both desktop and mobile devices.