A Next.js-based frontend for the Wolverine Workout tracking application with AI-powered workout generation.
- Create, edit, and delete workouts
- Track exercises with sets, reps, and weights
- AI-powered workout generation using ChatGPT
- Modern, responsive UI built with Tailwind CSS
- Single-server architecture with Next.js API routes
- Install dependencies:
npm install- Set up environment variables:
Create a
.env.localfile in the frontend directory with:
OPENAI_API_KEY=your_openai_api_key_here
- Run the development server:
npm run dev- Open http://localhost:3000 in your browser
The app now includes ChatGPT integration for generating personalized workouts:
- Click "Generate AI Workout" button
- Select your fitness level, workout type, and focus area
- Choose available equipment
- Set desired duration
- Click "Generate Workout" to get an AI-created workout plan
src/
├── app/ # Next.js app directory
│ ├── api/ # API routes
│ │ ├── workouts/ # Workout CRUD operations
│ │ └── generate-workout/ # AI workout generation
│ ├── page.tsx # Main application page
│ ├── layout.tsx # Root layout
│ └── globals.css # Global styles
├── components/ # React components
│ ├── WorkoutForm.tsx # Form for creating/editing workouts
│ ├── WorkoutList.tsx # List of workouts
│ └── WorkoutGenerator.tsx # AI workout generator
├── services/ # API services
│ └── api.ts # Backend API communication
└── types/ # TypeScript type definitions
└── workout.ts # Workout and exercise types
npm run dev- Start development servernpm run build- Build for productionnpm run start- Start production servernpm run lint- Run ESLint
The app uses Next.js API routes for backend functionality:
GET /api/workouts- Get all workoutsPOST /api/workouts- Create new workoutGET /api/workouts/[id]- Get specific workoutPUT /api/workouts/[id]- Update workoutDELETE /api/workouts/[id]- Delete workoutPOST /api/generate-workout- Generate AI workout
- Next.js 15 (App Router)
- React 18
- TypeScript
- Tailwind CSS
- OpenAI API (ChatGPT)
- Next.js API Routes