63 lines
1.5 KiB
Markdown
63 lines
1.5 KiB
Markdown
# Workout Planner
|
|
|
|
A self-hosted workout planner and logger. Plan training cycles, log daily workouts, search your history, and get AI-powered suggestions over time.
|
|
|
|
## Quick Start
|
|
|
|
```bash
|
|
# Install dependencies
|
|
npm install
|
|
|
|
# Set up the database
|
|
npx prisma db push
|
|
|
|
# Seed with exercises and default user
|
|
npm run db:seed
|
|
|
|
# Start development server
|
|
npm run dev
|
|
```
|
|
|
|
Open [http://localhost:3000](http://localhost:3000) in your browser.
|
|
|
|
**Default login:** `admin@local` / `workout123`
|
|
|
|
## Access from Other Devices
|
|
|
|
To access from your phone or iPad on the same network:
|
|
|
|
```bash
|
|
npm run dev -- --hostname 0.0.0.0
|
|
```
|
|
|
|
Then open `http://<your-computer-ip>:3000` on your device. You can install it as a PWA (Add to Home Screen) for an app-like experience.
|
|
|
|
## Docker Deployment
|
|
|
|
```bash
|
|
docker compose up -d
|
|
```
|
|
|
|
## Tech Stack
|
|
|
|
- **Next.js 14** (App Router) — full-stack TypeScript
|
|
- **SQLite** + Prisma ORM — local database, no separate server
|
|
- **Tailwind CSS** — mobile-first responsive design
|
|
- **PWA** — installable on any device
|
|
|
|
## Project Structure
|
|
|
|
```
|
|
app/
|
|
auth/login/ — Login page
|
|
main/
|
|
dashboard/ — Quick stats and recent workouts
|
|
workouts/ — Workout history, logger, detail views
|
|
exercises/ — Exercise library
|
|
settings/ — Preferences and AI config
|
|
api/ — REST API routes
|
|
components/ — Reusable UI components
|
|
lib/ — Database queries, auth, utilities
|
|
prisma/ — Schema and seed data
|
|
```
|