Demo fitness app with subscription tiers and video streaming.
Stack: React + NestJS + PostgreSQL + Bunny CDN
- Node.js 18+
- PostgreSQL
- Bunny CDN account (bunny.net)
# Option A: Docker
docker-compose up -d
# Option B: Local PostgreSQL
createdb slimhercd backend
npm installCreate backend/.env:
DB_HOST=localhost
DB_PORT=5432
DB_USERNAME=postgres
DB_PASSWORD=postgres
DB_NAME=slimher
JWT_SECRET=any-secret-key
PORT=3000
BUNNY_LIBRARY_ID=your-library-id
BUNNY_API_KEY=your-api-key
BUNNY_CDN_HOSTNAME=vz-xxxxx.b-cdn.net
BUNNY_TOKEN_AUTH_KEY=your-token-keyGet Bunny credentials: Create Stream library at bunny.net → Enable token authentication → Copy credentials
Start backend:
npm run start:devSeed database (new terminal):
npm run seedcd admin-portal
npm install
npm run devOpen http://localhost:5173 → Login with admin@slimher.com / Admin123!
cd web-app
npm install
npm run devOpen http://localhost:5174 → Login with premium@slimher.com / Demo123!
Other test accounts: free@slimher.com, basic@slimher.com (use these to test locked content)