🏡 Blamechance's Digital Cottage

Search

Search IconIcon to open search

Fitness Dashboard

Last updated Feb 29, 2024 Edit Source

# Concept:

My friends and I are big fans of a simple gym-tracking app that serves to replace a simple notebook and pen, called “FitNotes”.

The app allows us to easily keep track of our gym routine, rep schemes during workouts, historical logs of previous workouts etc. We’ve also recently came into the habit of using this, and checking in with each other at the end of every month to share progress and other notes on training.

The concept for this project is to create a web app that takes the exported CSV data from the FitNotes app, and uses it generate a fun dashboard that will extend the app’s usecase, and enhances those conversations.

Some key ideas:

# Links:

The github repository is here. A copy of the README.md is here.

Here’s a quick video walk-through: Youtube Link.

# Development/Feature Backlog:

# Misc. Dev Backlog items:

TaskStatus
Implement TDEE calculator
Add feature to allow users to delete their account/data
Add a page to display user data across all accounts
Integrate a dev pipeline to allow live build/update to site of new features
Table Key: ⬜ Not Started, ⚙️ In Progress, 🚧 On Hold, ✅ Completed

# Project Tracking:

# Ver 1.0 - Creating Flask App Basic Functionality:

The target for this iteration is to have a functional working proof of concept.

# Ver 1.1 - Hosting The App Online:

The Tl;DR of it is that I went with a AWS Free Tier Ubuntu 20.04 instance, hosting it on my domain managed with CloudFlare.

It’s accessible here!

# Notes And Considerations Over Architecture:

# Unwanted Traffic:

Currently, I do not utilise any services that might accrue extra charges in the result of unintended/DDOS traffic. The users who I would be sharing this to, and who would actually use it can be counted on one hand.

Action:

# Potential Attacks / Exploitation:

I’ve designed the app to be relatively stateless; this means all user data can be quickly produced anytime they submit their Fitnotes file (no functionality for changes to data server side – all changes should be made within the app).

Action:

# Considering Serverless:

A serverless design with Lambda was considered, but current app design makes use of session data for users functionality. Also, cold starts to lambda might make the experience lacklustre.

# V3:

⬜ Integrate the app’s CI with gitlab pipeline, so further updates will build to the live site.