Commit Graph

9 Commits

Author SHA1 Message Date
clawd e09017d2e0 feat(08-01): Health monitoring & logging infrastructure
- Set up Winston structured logging with console and file outputs
- Create GET /api/health endpoint with uptime, database status, response times
- Add request logging middleware (method, path, statusCode, duration)
- Create health monitoring module with database connectivity checks
- Log all HTTP requests with timing information
- Log auth events (login, register) and data modifications
- Replace console.log/error with structured logger calls
- Update backend README with logging configuration documentation
- Add tests for health endpoint and logging middleware
- Logs directory: logs/combined.log and logs/error.log

Deliverables met:
✓ Structured logging (Winston) integrated
✓ Enhanced health endpoint with uptime & database info
✓ Request logging middleware attached to all routes
✓ Comprehensive logging documentation in README.md
✓ Tests passing for health and logging functionality
✓ All critical operations logged with context
2026-03-03 21:28:46 +01:00
clawd fbba2d894d feat(06-01): Exercise recommendations API endpoint + frontend components (coach-assisted suggestions) 2026-03-03 03:54:12 +01:00
clawd 53f026aee2 feat(05-02): exa-search research integration 2026-03-02 14:10:32 +01:00
clawd 994f406050 fix: make backend listen on 0.0.0.0 instead of localhost
This allows Traefik and other containers on the docker network to reach the backend API.
2026-03-02 09:25:10 +01:00
clawd 4bd2c9607d feat(phase-4): Backend API for custom workouts
- Add custom_workouts and custom_workout_exercises tables (schema)
- New endpoints:
  - GET /api/exercises - List all exercises for picker
  - POST /api/custom-workouts - Fork program workout
  - GET /api/custom-workouts - List user's custom workouts
  - GET /api/custom-workouts/:id - Get workout with exercises
  - PUT /api/custom-workouts/:id - Update workout exercises
  - DELETE /api/custom-workouts/:id - Delete custom workout
- Updated endpoints for source_type support:
  - GET /api/logs - Filter by source_type and custom_workout_id
  - POST /api/logs - Save with source_type and custom_workout_id
  - DELETE /api/logs - Support custom workout log deletion
- Adds Phase 4 planning overview

Completes: 04-01-schema-migration, 04-02-backend-api
Next: 04-03-frontend-workout-edit
2026-03-02 09:25:10 +01:00
clawd 04bab32e26 design: WorkoutPage Hevy-style redesign + AlternativeModal + backend API
- Add GET /api/exercises/:id/alternatives endpoint
- Add GET /api/exercises/:id/last-workout endpoint
- New AlternativeModal component for swapping exercises
- WorkoutPage: single-tap logging, +/- buttons, rest timer
- Updated Icons with new workout icons
- Polish: card shadows, borders, micro-interactions
- Tasks directory for project management
2026-02-28 21:25:23 +01:00
clawd 889eb50070 feat(02-02): add DELETE /api/logs endpoint to backend
- DELETE /api/logs accepts user_id, program_exercise_id, date, set_number in request body
- Deletes matching workout_logs row by composite key
- Returns 200 + deleted id on success, 404 if row not found
- Consistent with existing POST /api/logs (no auth middleware, user_id from body)
2026-02-21 18:44:18 +01:00
clawd 14f39e178a Refactor: separera user_measurements och user_strength tabeller
- Ny databasstruktur för historik/progress tracking
- Nya endpoints: POST/GET measurements och strength
- Onboarding sparar till rätt tabeller
- Beräknar och sparar body_fat_pct
- Fixar tomma numeriska fält (null istället för '')
- Döljer 1RM för nybörjare
2026-02-01 00:10:48 +01:00
clawd 13ade5e903 Initial commit: Gravl MVP med onboarding 2026-01-31 23:33:20 +01:00