Développer des API avec NestJs


Développer des API avec NestJs

Catalogue : Technologies Web



1. Introduction
- Pourquoi choisir NestJs ?
- Installation de NestJs
- Découverte des éléments composant le Framework
Travaux pratiques 
Installation et tour dans les différents fichiers du framework
2. Les modules
- Présentation des modules NestJs
- Créer un module
- Rendre un module Global
Travaux pratiques 
Création manuelle et via le cli d’un module et sa configuration
3. Les contrôleurs
- Architecture de NestJs
- Création d'un contrôleur
- Système de routing
- Préfixer les routes d'un contrôleur
- L'objet Request et l'objet Response
- Récupérer le body d'une Request
- Définir les paramètres d'une route
Travaux pratiques  
Création et configuration d’un contrôleur et simulations des différentes méthodes HTTP 
Simulation de plusieurs route et application des notions de l’ordre des routes.
Création d’une application de gestion des TODO avec un CRUD Complet en pratiquant la manipulation du Body, et des paramètres d’une Requête.

 

4. NestJs et RxJs :  la programmation réactive
- Qu’est-ce que la programmation réactive ?
- Le pattern Observateur
- Les observables
- Les opérateurs de création et les opérateurs pipable
- Les subjects
Travaux pratiques 
Manipuler les observables
5. Les Data transfer Object (DTO)
- Définir les DTO
- Exemple d’utilisation d’un DTO
- Les mapped types
Travaux pratiques 
Créer les DTO d’ajout et de mise à jour en utilisant les mapped types.
6. Les providers
- Définition
- Les services
- Injection de dépendance
Travaux pratiques 
- Création de la couche service pour la gestion des Todo.
-  Démonstration de l’intérêt de l’injection de dépendance.
7. Les pipes
- Définition
- Utilisation
- Les Validation Pipe
- Transformation des objets
- Les décorateurs de validations 
- Les pipes personnalisés (Custom Pipe)
Travaux pratiques 
- Création d’un pipe personnalisé. Utilisation des pipes de validation et de transformation
- Mise en place de messages d’erreurs personnalisés et génériques pour certaines propriétés. 
8. Les Middlewares
- Définition
- Comment créer un Middleware
- Comment appliquer un Middlware
- Quelques middleware pratiques
Travaux pratiques 
- Créer un middleware de log. 
- Mise en place et test des middlewares helmet, morgan et CORS. 
9. Les filtres
- Définition
- Fonctionnement
- Comment déclencher une erreur et quels sont les différents types d'erreurs
Travaux pratiques 
Gestion personnalisée des erreurs HTTP. 
10. Les intercepteurs
- Définition
- Utilisation
- Exemples
Travaux pratiques 
- Tester l’application des intercepteurs sur la requête 
- Personnalisation des réponses via l’intercepteur
- Calcul du temps d’exécution des requêtes
- Tester les différents scopes d’application de ces intercepteurs.

11. Les variables de configuration
- Définition des variables de configuration
- Utilisation 
Travaux pratiques 
- Modifier la configuration du projet en utilisant dotenv et la configuration service

12. Interaction avec une Base de données via TypeORM
- Définition d'un ORM
- Présentation de TypeOrm
- Configuration
- Les entités
- Le Repostory
- Le QueryBuilder
- Les relations entre les entités
Travaux pratiques 
- Créer des fonctionnalités de recherche en utilisant les méthodes du Repository et le QueryBuilder
- Utiliser le lifecycle pour automatiser certaines fonctionnalités
- Seed de la base de données via les fixtures en créant une standalone application.

13. Authentification et Autorisation
- Définition
- Crypter un mot de passe
- Authentifier vos utilisateurs
- Passport
- PassportJwt
- Les Guards
Travaux pratiques 
- Implémenter les fonctionnalitéssignup etsignin
- Mise en place de la bibliothèque Passport
 

Fiche de la formation



 Cible :

Développeurs et chefs de projets Web.


 Prérequis :

Pour suivre cette formation, il faut maîtriser JavaScript et node.Js


 Durée : 4 jours

 Type : Stage pratique


 Contactez-nous