🏊 SwimJournal

SwimJournal is a full-stack web application that allows swimmers to log, analyze, and reflect on their training, performance, and recovery data in one centralized platform.

Live Demo

https://swimjournal.onrender.com/login

🚀 Features

  • Secure user authentication using password hashing and Flask session management
  • Personalized dashboard with weekly training summaries and activity streaks
  • Swim workout logging with distance, stroke, duration, difficulty, and notes
  • Strength training logs with exercises, sets, reps, and perceived exertion
  • Race performance tracking with event details, times, and reflections
  • Recovery tracking including sleep, fatigue, soreness, and stress
  • Interactive race progression charts built with Chart.js

🛠 Tech Stack

Backend

  • Python
  • Flask
  • SQLite
  • SQL

Frontend

  • HTML
  • CSS
  • Bootstrap
  • JavaScript

Visualization

  • Chart.js

🧠 System Design

  • Relational database schema for structured training, performance, and recovery data
  • User-specific data isolation enforced through filtered SQL queries
  • Backend routes handle data aggregation, summaries, and streak calculations

📌 Acknowledgments

  • Harvard CS50x — Introduction to Computer Science
  • Chart.js
  • Bootstrap
Share this project:

Updates