Guide Nouvel Arrivant
Bienvenue dans l equipe MyTV ! Ce guide vous permettra d etre operationnel en 30 minutes.
Parcours Onboarding
Quickstart (10 min)
|
v
Architecture (10 min)
|
v
Premier Appel API (5 min)
|
v
Glossaire (5 min)
Etape 1 : Quickstart (10 min)
Prerequisites
Verifier que vous avez :
node --version # >= 20.x
npm --version # >= 10.x
docker --version # >= 24.x
git --version # >= 2.x
Installation
# 1. Cloner le repo
git clone https://github.com/XKS-MTV/mytv-mvpv1-api.git
cd mytv-mvpv1-api
# 2. Installer les dependances
npm install
# 3. Configurer l environnement
cp .env.example .env
# Editer .env avec les valeurs fournies par l equipe
# 4. Demarrer les services
npm run docker:up
# 5. Preparer la base de donnees
npm run prisma:migrate:dev
npm run prisma:generate
# 6. Demarrer l API
npm run start:dev
Verification
# Health check
curl http://localhost:3000/health
# Reponse attendue: {"status":"ok"}
# Ouvrir Swagger
open http://localhost:3000/api/docs
Etape 2 : Comprendre l Architecture (10 min)
Vue d Ensemble
MyTV est une API de streaming construite avec NestJS suivant Clean Architecture :
src/
├── presentation/ # Controllers, Guards (HTTP layer)
├── application/ # Services, DTOs (Business logic)
├── domain/ # Entities, Interfaces (Core domain)
├── infrastructure/ # DB, Cache, External APIs
└── shared/ # Utils partages
Modules Principaux
| Module | Description |
|---|---|
| Auth | Authentification JWT + Social |
| Accounts | Comptes multi-profils (Netflix-like) |
| Content | Films, Series, Live TV, Radio, Podcasts |
| Streaming | Tokens de streaming securises |
| Engagement | Likes, Vues, Favoris |
Technologies
- Backend: NestJS 10, TypeScript 5.3
- Database: PostgreSQL 16, Prisma ORM
- Cache: Redis 7
- Auth: JWT + Firebase
- Docs: Swagger/OpenAPI
Etape 3 : Premier Appel API (5 min)
Obtenir un Token
# Login
curl -X POST http://localhost:3000/api/v2/auth/login \
-H "Content-Type: application/json" \
-d '{"email":"[email protected]","password":"Password123!"}'
Sauvegarder le accessToken de la reponse.
Appeler un Endpoint
# Lister les films
curl http://localhost:3000/api/v2/movies \
-H "Authorization: Bearer <votre-token>"
Swagger UI
Explorez l API via Swagger : http://localhost:3000/api/docs
Etape 4 : Glossaire (5 min)
| Terme | Definition |
|---|---|
| Account | Compte principal (email/password) |
| Profile | Sous-profil d un account (max 4) |
| Guard | Protection des routes (auth, permissions) |
| DTO | Data Transfer Object (validation) |
| Prisma | ORM TypeScript pour PostgreSQL |
| JWT | Token d authentification |
Prochaines Etapes
Cette semaine
- Explorer la documentation Swagger
- Lire le code d un module simple (ex: Movies)
- Comprendre le flow d une requete
- Ecrire votre premier test
Ressources
Besoin d Aide ?
- Documentation : Cette doc !
- Code : Lire les tests existants
- Equipe : Slack #mytv-api-support
- Bugs : GitHub Issues