No description
Backend fuer oeffentliche Community-Fremdprofile (Stufe 2 der Roadmap). handle.ts: - handleToSlug: KochHeld#A23B -> KochHeld-A23B (URL-tauglich, '#' geht nicht im Pfad). - parseHandleSlug: zerlegt am LETZTEN Bindestrich (Username darf Bindestriche enthalten), validiert Username + Discriminator gegen das Alphabet. users.publicProfileByHandle (protectedProcedure): - DATENSCHUTZ: liefert nur bei profileVisible=true, sonst NOT_FOUND (privates und nicht existierendes Profil sind von aussen ununterscheidbar). - Strikte Feld-Whitelist: handle, username, discriminator, bio, image. NIEMALS Art.-9-Daten (Gewicht/Kalorien/Ziele), keine Kontakt-/Auth-Felder. - Aggregat-Punkte gesamt + 30 Tage aus activity_logs.points, plus anonymisierte Aktivitaets-Streak (distinkte aktive Tage der letzten 7). Tests (node:test): 9 Slug-Tests + 6 Endpoint-Tests (sichtbar, Leak-Schutz, NOT_FOUND bei privat/unbekannt/ungueltigem Slug, Auth-Pflicht). Verifiziert: 75 API-Tests gruen, Typecheck 3/3. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .claude | ||
| .forgejo/workflows | ||
| apps/admin | ||
| docker | ||
| docs | ||
| packages | ||
| .env.example | ||
| .gitignore | ||
| .npmrc | ||
| AGENTS.md | ||
| CLAUDE.md | ||
| package.json | ||
| pnpm-lock.yaml | ||
| pnpm-workspace.yaml | ||
| README.md | ||
| turbo.json | ||
Hellth Hub
Mobile-first Web-App für persönliches Health- und Ernährungstracking im Home-Lab.
Lokaler Start
docker compose -f docker/docker-compose.yml up -d db
pnpm --filter @hellth/db db:migrate
pnpm --filter @hellth/api seed:admin
pnpm --filter @hellth/api seed:health
pnpm --filter @hellth/api dev
pnpm --filter admin dev
Danach:
- Admin-UI: http://localhost:3001
- API: http://localhost:3002
- Health Check: http://localhost:3002/api/health
Aktuelle Module
- Auth, Login, 2FA, Passkeys und Benutzerverwaltung
- Tagesansicht mit Essen, Trinken, Gewicht, Aktivitäten und Coach-Hinweisen
- Lebensmittelkatalog mit Nährwerten, Portionen, Favoriten und OCR-Vorbereitung
- Rezepte mit flexiblen Mengenangaben, Bewertungen und Meal-Prep-Bezug
- Essensplanung mit Tages- und Wochenlogik
- Wochenbudget für Kalorien inklusive Sportbonus
- Einkaufsliste mit Märkten, Abteilungen und Laufweg-Sortierung
- Ziele, Onboarding und persönliche Einstellungen pro Benutzer
- Erinnerungen, Aktivitätspunkte, Hellfireclub und Wearable-Vorbereitung
Verifikation
pnpm --filter @hellth/api test -- --test-reporter=spec
pnpm --filter admin test
NEXT_PUBLIC_API_URL=http://localhost:3002 pnpm --filter admin build