# TikTok MVP - Projektstruktur (Symfony + Mobile-First)

Diese Struktur ist auf einen schnellen MVP ausgelegt:
- Backend API in Symfony
- Mobile-first Web-App im Frontend
- Optionaler Store-Wrapper fuer iOS/Android (Capacitor)
- Klare Trennung von App-Code und Infrastruktur

## Zielbild

- `backend/`: Symfony API (Auth, Feed, Upload, Likes, Kommentare)
- `frontend/`: Mobile-first Web-App (For-You Feed, Video Player, Interaktionen)
- `mobile/`: Native Shell fuer App Store und Play Store via Capacitor
- `infra/`: Docker, lokale Infrastruktur, spaeter CI/CD Bausteine
- `docs/`: Architektur, API-Notizen, Produktentscheidungen

## Ordnerstruktur

```text
projekt_wanted/
├─ PROJECT_STRUCTURE.md
├─ backend/
│  ├─ README.md
│  ├─ src/
│  ├─ config/
│  ├─ migrations/
│  ├─ tests/
│  └─ var/
├─ frontend/
│  ├─ README.md
│  ├─ src/
│  ├─ public/
│  └─ tests/
├─ mobile/
│  ├─ README.md
│  ├─ ios/
│  └─ android/
├─ infra/
│  ├─ README.md
│  ├─ docker/
│  └─ scripts/
└─ docs/
   ├─ README.md
   └─ decisions/
```

## Erste fachliche Module (Backend)

- `Auth`: Registrierung, Login, Token/Refresh
- `User`: Profil, Follow/Unfollow
- `Video`: Upload, Status, Metadaten, Playback-URL
- `Interaction`: Like, Kommentar, Share-Event
- `Feed`: For-You + Following + Ranking v1
- `Moderation`: Meldung und Status

## Technischer Startplan

1. Symfony API initialisieren (`backend/`)
2. PostgreSQL + Redis lokal ueber Docker starten (`infra/docker/`)
3. Upload-Endpoint + Queue-Job fuer Transcoding vorbereiten
4. Frontend Feed-Screen mit vertikalem Swipe-Flow bauen
5. Danach Capacitor-Wrapper fuer Store-Deployment anschliessen

## Warum diese Struktur?

- Schnell entwickelbar fuer MVP
- Spater sauber horizontal skalierbar
- Trennung von Kernlogik, UI und Infrastruktur
- Store-Release ohne kompletten Rebuild moeglich
