Aller au contenu principal

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

ModuleDescription
AuthAuthentification JWT + Social
AccountsComptes multi-profils (Netflix-like)
ContentFilms, Series, Live TV, Radio, Podcasts
StreamingTokens de streaming securises
EngagementLikes, 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)

TermeDefinition
AccountCompte principal (email/password)
ProfileSous-profil d un account (max 4)
GuardProtection des routes (auth, permissions)
DTOData Transfer Object (validation)
PrismaORM TypeScript pour PostgreSQL
JWTToken d authentification

Prochaines Etapes

Cette semaine

  1. Explorer la documentation Swagger
  2. Lire le code d un module simple (ex: Movies)
  3. Comprendre le flow d une requete
  4. Ecrire votre premier test

Ressources

Besoin d Aide ?

  • Documentation : Cette doc !
  • Code : Lire les tests existants
  • Equipe : Slack #mytv-api-support
  • Bugs : GitHub Issues