A comprehensive Next.js fitness application that provides a structured 6-month training program with interactive calendar navigation and exercise management.
- 6-Phase Training Program: Progressive training schedule from June 9 - December 26, 2025
- Interactive Calendar: Navigate through months and days with visual indicators
- Exercise Filtering: Switch between Home and Gym exercises (both include mobility)
- Phase-Based Progression: Increasing sets and intensity across 6 training phases
- Responsive Design: Modern UI with Tailwind CSS
- Workout Schedule: Monday/Wednesday/Friday workouts, Tuesday/Thursday mobility days
- Phase 1 (June 9-27): Foundation - 3 sets, building base strength
- Phase 2 (June 30 - July 25): Development - 3 sets, continued building
- Phase 3 (July 28 - August 22): Progression - 3 sets, exercise variation
- Phase 4 (August 25 - September 26): Intensity - 4 sets, increased load
- Phase 5 (September 29 - November 21): High Intensity - 4 sets, reduced reps
- Phase 6 (November 24 - December 26): Peak - 5 sets, maximum intensity
- Monday: Chest, Shoulders, Triceps + Cardio (3+ miles)
- Tuesday: Mobility and Recovery exercises
- Wednesday: Back, Lats, Biceps + Cardio (3+ miles)
- Thursday: Mobility and Recovery exercises
- Friday: Legs, Glutes, Core + Cardio (3+ miles)
- Weekend: Rest days
- Framework: Next.js 15 with Turbopack
- Styling: Tailwind CSS
- Language: TypeScript
- Components: Custom React components
- Date Handling: Timezone-safe date management
-
Clone the repository
git clone https://github.com/danberko/cardea.git cd cardea -
Install dependencies
npm install
-
Run the development server
npm run dev
-
Open in browser
http://localhost:3000
- Navigate Dates: Use calendar or arrow buttons to select workout days
- Filter Exercises: Toggle between "Home Exercise" and "Gym Exercise" views
- View Workouts: See exercises, sets, reps, and descriptions for each day
- Track Progress: Visual phase indicators show current training stage
src/
├── components/
│ ├── Badge.tsx # Phase color indicators
│ ├── DashboardLayout.tsx # Main layout wrapper
│ ├── Header.tsx # Navigation header
│ ├── MobileSidebar.tsx # Mobile navigation
│ └── Sidebar.tsx # Desktop sidebar
├── data/
│ ├── exercises.ts # Complete exercise database
│ └── trainingPhases.ts # Phase definitions
└── app/
├── layout.tsx # Root layout
└── page.tsx # Main dashboard page
- Programmatically generates all workout days
- Timezone-safe date handling
- Progressive difficulty across phases
- Separate templates for each workout day
- Month-by-month navigation
- Day-by-day navigation with arrows
- Today button for quick access
- Visual highlighting for selected dates
- Home exercises (bodyweight + kettlebell)
- Gym exercises (machines + free weights)
- Mobility exercises (included in both views)
- Exercises not showing: Ensure you're on a scheduled workout day (Mon/Wed/Fri)
- Date misalignment: Browser timezone should match exercise schedule
- Calendar navigation: Use month arrows to change view without affecting selected date
This project is available under the MIT License.
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Open a Pull Request
Built with ❤️ for fitness enthusiasts who want a structured, progressive training program.