Initial commit: full fitness-rewards app
Backend: FastAPI + PostgreSQL + SQLAlchemy async - Auth (JWT), onboarding (PAR-Q+, TTM, BREQ-2), activities, food log - Points engine with daily gate + weekly targets - Strava + Polar OAuth integration - Open Food Facts barcode lookup - Resource recommendation engine - 10 seeded Darebee/StrongLifts/YouTube programs Frontend: React + Vite, mobile-first dark theme - Login/Register, 8-step onboarding flow - Dashboard with daily gate status - Activity logger, food logger (manual + barcode scan + search) - Reward shop with redemption - Weekly summary view - Settings (point rules, targets, integrations) Deployment: Docker Compose for Coolify (Traefik)
This commit is contained in:
commit
4db2b0846b
61 changed files with 4280 additions and 0 deletions
42
README.md
Normal file
42
README.md
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
# Fitness Rewards
|
||||
|
||||
Personal fitness web app with a points-based behavioral economy. Earn points through fitness activities, spend them on real-world rewards.
|
||||
|
||||
## Stack
|
||||
- **Backend**: FastAPI + PostgreSQL + SQLAlchemy (async)
|
||||
- **Frontend**: React + Vite
|
||||
- **Deployment**: Docker Compose via Coolify
|
||||
|
||||
## Quick Start (Development)
|
||||
|
||||
```bash
|
||||
# Backend
|
||||
cd backend
|
||||
python -m venv .venv && source .venv/bin/activate
|
||||
pip install -r requirements.txt
|
||||
uvicorn app.main:app --reload
|
||||
|
||||
# Frontend
|
||||
cd frontend
|
||||
npm install
|
||||
npm run dev
|
||||
```
|
||||
|
||||
## Deploy (Production)
|
||||
|
||||
```bash
|
||||
cp .env.example .env
|
||||
# Edit .env with real secrets
|
||||
docker compose up -d --build
|
||||
```
|
||||
|
||||
## Features
|
||||
- Science-based onboarding (PAR-Q+, TTM Stages of Change, BREQ-2)
|
||||
- Points economy with configurable earning rules and rewards
|
||||
- Daily gate: earn your daily minimum before unlocking rewards
|
||||
- Weekly targets with reset
|
||||
- Strava + Polar integration (OAuth 2.0)
|
||||
- Open Food Facts barcode scanning for food logging
|
||||
- Curated external fitness resources (Darebee, StrongLifts, YouTube)
|
||||
- 90-day program commitment tracking
|
||||
- Mobile-first PWA design
|
||||
Loading…
Add table
Add a link
Reference in a new issue