Dart Shelf API with modules: auth (JWT + PBKDF2), tasks (CRUD + dopamine scorer), streaks (forgiveness + freeze), rewards (variable reward engine), time perception, sync (offline-first push/pull), rooms (body doubling placeholder). Includes DB migration (001_initial_schema.sql) and Docker Compose. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
24 lines
663 B
Plaintext
24 lines
663 B
Plaintext
# Server configuration
|
|
PORT=8081
|
|
APP_ENV=development # development | staging | production
|
|
|
|
# PostgreSQL connection string
|
|
DATABASE_URL=postgresql://focusflow:focusflow@localhost:5433/focusflow
|
|
|
|
# Redis connection string (for rate limiting, caching, sessions)
|
|
REDIS_URL=redis://localhost:6380
|
|
|
|
# JWT secret key — generate a strong random string for production
|
|
JWT_SECRET=change-me-to-a-secure-random-string
|
|
|
|
# JWT token lifetimes
|
|
ACCESS_TOKEN_EXPIRY_MINUTES=15
|
|
REFRESH_TOKEN_EXPIRY_DAYS=30
|
|
|
|
# Rate limiting
|
|
RATE_LIMIT_REQUESTS=100
|
|
RATE_LIMIT_WINDOW_SECONDS=60
|
|
|
|
# Logging level: ALL, FINEST, FINER, FINE, CONFIG, INFO, WARNING, SEVERE, SHOUT, OFF
|
|
LOG_LEVEL=INFO
|