|
|
b4a1856f79
|
refactor: modular backend architecture with 14 router modules
Deploy Development / deploy (push) Successful in 58s
Build Test / lint-backend (push) Successful in 0s
Build Test / build-frontend (push) Successful in 13s
Phase 2 Complete - Backend Refactoring:
- Extracted all endpoints to dedicated router modules
- main.py: 1878 → 75 lines (-96% reduction)
- Created modular structure for maintainability
Router Structure (60 endpoints total):
├── auth.py - 7 endpoints (login, logout, password reset)
├── profiles.py - 7 endpoints (CRUD + current user)
├── weight.py - 5 endpoints (tracking + stats)
├── circumference.py - 4 endpoints (body measurements)
├── caliper.py - 4 endpoints (skinfold tracking)
├── activity.py - 6 endpoints (workouts + Apple Health import)
├── nutrition.py - 4 endpoints (diet + FDDB import)
├── photos.py - 3 endpoints (progress photos)
├── insights.py - 8 endpoints (AI analysis + pipeline)
├── prompts.py - 2 endpoints (AI prompt management)
├── admin.py - 7 endpoints (user management)
├── stats.py - 1 endpoint (dashboard stats)
├── exportdata.py - 3 endpoints (CSV/JSON/ZIP export)
└── importdata.py - 1 endpoint (ZIP import)
Core modules maintained:
- db.py: PostgreSQL connection + helpers
- auth.py: Auth functions (hash, verify, sessions)
- models.py: 11 Pydantic models
Benefits:
- Self-contained modules with clear responsibilities
- Easier to navigate and modify specific features
- Improved code organization and readability
- 100% functional compatibility maintained
- All syntax checks passed
Updated CLAUDE.md with new architecture documentation.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-03-19 11:15:35 +01:00 |
|
|
|
9e6a542289
|
fix: change password endpoint method from POST to PUT to match frontend
Deploy Development / deploy (push) Successful in 55s
Build Test / lint-backend (push) Successful in 0s
Build Test / build-frontend (push) Successful in 13s
|
2026-03-19 10:13:07 +01:00 |
|
|
|
c7d283c0c9
|
refactor: extract Pydantic models to models.py
Deploy Development / deploy (push) Successful in 56s
Build Test / lint-backend (push) Successful in 0s
Build Test / build-frontend (push) Successful in 13s
Phase 1.3 - Data Models isolieren
NEUE DATEI:
- backend/models.py: Alle Pydantic Models (122 Zeilen)
* ProfileCreate, ProfileUpdate
* WeightEntry, CircumferenceEntry, CaliperEntry
* ActivityEntry, NutritionDay
* LoginRequest, PasswordResetRequest, PasswordResetConfirm
* AdminProfileUpdate
ÄNDERUNGEN:
- backend/main.py:
* Import models from models.py
* Entfernt: ~60 Zeilen Model-Definitionen
* Von 2025 → 1878 Zeilen (-147 Zeilen / -7%)
PROGRESS:
✅ db.py: Database + init_db
✅ auth.py: Auth functions + dependencies
✅ models.py: Pydantic schemas
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-03-19 09:53:51 +01:00 |
|
|
|
d826524789
|
refactor: extract auth functions to auth.py
Deploy Development / deploy (push) Successful in 54s
Build Test / lint-backend (push) Successful in 0s
Build Test / build-frontend (push) Successful in 13s
Phase 1.2 - Authentication-Logik isolieren
NEUE DATEI:
- backend/auth.py: Auth-Funktionen mit Dokumentation
* hash_pin() - bcrypt + SHA256 legacy support
* verify_pin() - Password verification
* make_token() - Session token generation
* get_session() - Token validation
* require_auth() - FastAPI dependency
* require_auth_flexible() - Auth via header OR query
* require_admin() - Admin-only dependency
ÄNDERUNGEN:
- backend/main.py:
* Import from auth.py
* Removed 48 lines of auth code
* hashlib, secrets nicht mehr benötigt
KEINE funktionalen Änderungen.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-03-19 09:51:25 +01:00 |
|
|
|
548d733048
|
refactor: move init_db() to db.py
Deploy Development / deploy (push) Successful in 56s
Build Test / lint-backend (push) Successful in 0s
Build Test / build-frontend (push) Successful in 13s
Phase 1.1 - Database-Logik konsolidieren
ÄNDERUNGEN:
- init_db() von main.py nach db.py verschoben
- main.py importiert init_db von db
- startup_event() ruft db.init_db() auf
- Keine funktionalen Änderungen
DATEIEN:
- backend/db.py: +60 Zeilen (init_db Funktion)
- backend/main.py: -48 Zeilen (init_db entfernt, import hinzugefügt)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-03-19 09:49:46 +01:00 |
|