Programme pour une introduction à NestJS

Objectifs Pedagogiques

  • Temps: 1 journée
  • Acquis: Comprendres les concepts employées dans NestJS et savoir réaliser une stateful API

Pré-requis

  • Experience de programmation avec un Backend
  • Bases de données (xSQL ou Mongo)
  • Maitrise du Javascript/NodeJS
  • Idéalement connaissande de Typescript

Elements introductifs

Passage en revue des éléments connexes à NestJS.

ExpressJS

  • https://expressjs.com/
  • ExpressJS est un framework minimal et relativement flexible pour Node.js qui fournit un ensemble fonctionnalités pour les applications Web et mobiles.
  • Hello World
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12

const express = require('express')
const app = express()
const port = 3000

app.get('/', (req, res) => {
  res.send('Hello World!')
})

app.listen(port, () => {
  console.log(`Example app listening at http://localhost:${port}`)
})

NestJS + NextJS

  • NestJS : framework backend pour nodejs

  • NextJS : framework frontend pour reactJS

    Ils vont souvent ensemble mais aucun lien particulier entre les deux, meme si leur noms sont proches.

TypeScript

API design

  • CRUD
  • GraphQL
  • Microservices
  • Auth

Frameworks

  • Comparaison de NestJS avec autre frameworks
  • ExpressJS
  • Laravel/Symphony
  • Django
  • Ruby On Rails
  • etc.

NestJS

Introduction aux concept de NestJS

Resourses

  • Controllers
  • Providers
  • Modules

Requests

  • Middleware
  • Pipes and filters
  • Guards
  • Interceptor

Outils intégrés

  • ORM
  • Validation
  • Logging
  • Queues
  • GraphQL
  • Microservices
  • CRUD generator

Generation d’une app

1
2
$ npm i -g @nestjs/cli
$ nest new project-name
1
2
3
4
5
6
src/
 - app.controller.spec.ts
 - app.controller.ts
 - app.module.ts
 - app.service.ts
 - main.ts

Application pratique

Realiser un blog

Liens vers la playlist