How cse442-software-engineering-ub/f26-gymranked works
GymRank is a workout-planning and tracking web app with a React frontend, PHP API, and MySQL backend. Users register or sign in, configure training preferences, choose plans, log workouts, and review progress and standings. The route table establishes the frontend’s major screens; sampled pages and the README establish selected API and storage relationships. Several feature APIs and backend implementations were not sampled, so their internal links are left unspecified rather than inferred.
Main entry points: App.jsx Route application · api.js Authentication client · workoutLogApi.js Workout log API client · parts.jsx Training setup
Components 20
Application shell
- Route application
src/App.jsx - Dashboard
src/Dashboard.jsx
Account and setup
- Login and registration
src/auth/LoginPage.jsx - Authentication client
src/auth/api.js - Training setup
src/onboarding/parts.jsx - Profile and preferences
src/profile/ProfilePage.jsx
Plans and workouts
- Plan library and selection
src/WorkoutPlanLibrary.jsx - Weekly workout plan
src/WeeklyPlan.jsx - Active workout
src/workoutLog/ActiveWorkoutPage.jsx - Workout logging
src/workoutLog/WorkoutLogger.jsx - Workout log API client
src/workoutLog/workoutLogApi.js - Workout summary
src/workoutLog/WorkoutSummaryPage.jsx
Progress and community
- Workout history
src/history/WorkoutHistoryPage.jsx - Exercise progress
src/progress/ProgressPage.jsx - Leaderboard
src/leaderboard/LeaderboardPage.jsx - Weekly standings
src/weekly/WeeklyStandingsPage.jsx - Weekly goal
src/weeklyGoal/WeeklyGoalPage.jsx
Backend and storage
- PHP API
api/workouts.php - MySQL database
Other components
- GymRank user
Connections 24
- GymRank user → Route application: uses
src/App.jsx - Route application → Login and registration: routes to
src/App.jsx - Route application → Training setup: routes to
src/App.jsx - Route application → Dashboard: routes to
src/App.jsx - Route application → Plan library and selection: routes to
src/App.jsx - Route application → Weekly workout plan: routes to
src/App.jsx - Route application → Active workout: routes to
src/App.jsx - Route application → Workout summary: routes to
src/App.jsx - Route application → Workout history: routes to
src/App.jsx - Route application → Exercise progress: routes to
src/App.jsx - Route application → Leaderboard: routes to
src/App.jsx - Route application → Weekly standings: routes to
src/App.jsx - Route application → Weekly goal: routes to
src/App.jsx - Login and registration → Authentication client: calls
src/auth/LoginPage.jsx - Training setup → Authentication client: checks session
src/onboarding/parts.jsx - Profile and preferences → Authentication client: checks session
src/profile/ProfilePage.jsx - Profile and preferences → Training setup: loads setup data
src/profile/ProfilePage.jsx - Active workout → Workout logging: renders
- Workout logging → Workout log API client: uses
- Workout summary → Workout log API client: loads workout data
src/workoutLog/WorkoutSummaryPage.jsx - Workout history → Workout log API client: loads history
src/history/WorkoutHistoryPage.jsx - Exercise progress → Workout log API client: loads workout data
src/progress/ProgressPage.jsx - Authentication client → PHP API: fetches API endpoint
src/auth/api.js - PHP API → MySQL database: reads and writes
README.md