How alexalkhatib/activity-management-system works
FitTrack is a server-rendered fitness-tracking web application. Users register or sign in, then record workouts and exercises, log body measurements, maintain a profile, and review dashboard statistics. The documented architecture is web → service → repository → domain, with Thymeleaf views; sampled services confirm workout, exercise, measurement, and account behavior. The README documents additional dashboard, profile, and REST API capabilities. Some controller/service links are supported by the README’s layer description rather than sampled controller implementations.
Main entry points: DashboardService.java Dashboard analytics · WorkoutService.java Workout management · application.properties Configured database · UserService.java Account management
Components 23
Web experience
- Account access
src/main/java/com/fittrack/web/AuthController.java - Workout screens
src/main/java/com/fittrack/web/WorkoutController.java - Exercise screens
src/main/java/com/fittrack/web/ExerciseController.java - Measurement screens
src/main/java/com/fittrack/web/MeasurementController.java - Profile screens
src/main/java/com/fittrack/web/ProfileController.java - Dashboard and stats
src/main/java/com/fittrack/web/MainController.java - Server-rendered views
src/main/resources/templates - Stats REST API
src/main/java/com/fittrack/web/StatsApiController.java
Fitness services
- Account management
src/main/java/com/fittrack/service/UserService.java - Workout management
src/main/java/com/fittrack/service/WorkoutService.java - Exercise library
src/main/java/com/fittrack/service/ExerciseService.java - Body measurements
src/main/java/com/fittrack/service/MeasurementService.java - Dashboard analytics
src/main/java/com/fittrack/service/DashboardService.java - Fitness calculations
src/main/java/com/fittrack/service/FitnessCalculator.java
Domain and persistence
- Fitness domain
src/main/java/com/fittrack/domain - Workout repository
src/main/java/com/fittrack/repository/WorkoutRepository.java - Measurement repository
src/main/java/com/fittrack/repository/MeasurementRepository.java - Exercise repository
src/main/java/com/fittrack/repository/ExerciseRepository.java - User repository
src/main/java/com/fittrack/repository/UserRepository.java - Role repository
src/main/java/com/fittrack/repository/RoleRepository.java
Application platform
- Configured database
src/main/resources/application.properties - Authentication security
src/main/java/com/fittrack/config/SecurityConfig.java
Other components
- Fitness user
Connections 34
- Fitness user → Account access: registers or signs in
README.md - Fitness user → Workout screens: manages sessions
README.md - Fitness user → Exercise screens: manages exercises
README.md - Fitness user → Measurement screens: logs measurements
README.md - Fitness user → Profile screens: updates profile
README.md - Fitness user → Dashboard and stats: reviews progress
README.md - Account access → Account management: registers accounts
src/main/java/com/fittrack/web/AuthController.java - Workout screens → Workout management: manages workouts
README.md - Exercise screens → Exercise library: searches library
src/main/java/com/fittrack/web/ExerciseController.java - Measurement screens → Body measurements: manages entries
src/main/java/com/fittrack/web/MeasurementController.java - Profile screens → Account management: updates account
src/main/java/com/fittrack/web/ProfileController.java - Dashboard and stats → Dashboard analytics: loads analytics
src/main/java/com/fittrack/web/MainController.java - Stats REST API → Dashboard analytics: serves statistics
src/main/java/com/fittrack/web/StatsApiController.java - Workout management → Exercise library: resolves exercises
src/main/java/com/fittrack/service/WorkoutService.java - Workout management → Body measurements: reads current weight
src/main/java/com/fittrack/service/WorkoutService.java - Workout management → Fitness calculations: estimates calories
README.md - Workout management → Workout repository: saves and queries
src/main/java/com/fittrack/service/WorkoutService.java - Exercise library → User repository: gets current user
src/main/java/com/fittrack/service/ExerciseService.java - Exercise library → Exercise repository: queries and saves
src/main/java/com/fittrack/service/ExerciseService.java - Body measurements → Measurement repository: queries and saves
src/main/java/com/fittrack/service/MeasurementService.java - Account management → User repository: queries and saves
src/main/java/com/fittrack/service/UserService.java - Account management → Role repository: loads user role
src/main/java/com/fittrack/service/UserService.java - Dashboard analytics → Workout repository: queries workouts
src/main/java/com/fittrack/service/DashboardService.java - Dashboard analytics → Measurement repository: queries measurements
src/main/java/com/fittrack/service/DashboardService.java - Dashboard analytics → Fitness calculations: computes metrics
src/main/java/com/fittrack/service/DashboardService.java - Dashboard analytics → Server-rendered views: supplies dashboard data
src/main/java/com/fittrack/service/DashboardService.java - Stats REST API → Server-rendered views: returns dashboard data
README.md - Workout repository → Configured database: persists workout data
README.md - Measurement repository → Configured database: persists measurement data
README.md - Exercise repository → Configured database: persists exercise data
README.md - User repository → Configured database: persists account data
README.md - Role repository → Configured database: persists roles
README.md - Account access → Authentication security: uses form login
README.md - Server-rendered views → Fitness user: renders pages
README.md