naholyr / formation-node-2022-11

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Formation Node.js 21-23 novembre 2022

Contact : nicolas@chambrier.fr

Ressources

  • Les diagrammes ("tableau blanc") (lien inclus en fin de formation)
  • Les slides dans le dossier "slides"
  • Les quelques exemples isolés dans le dossier "samples"
  • Le gros TP dans le dossier "app"

Liens utiles

Packages

Runtime

  • express
    • body-parser
  • socket.io
  • ioredis
  • mongodb
  • jsonwebtoken

Configuration

  • dotenv

Tests

  • jest

Outils de dev

  • nodemon
  • eslint
  • prettier
  • eslint-plugin-prettier

Le TP

Express

  • GET / (home statique)

  • GET /timeout (home avec un timeout)

  • GET /tp/async (promise sans async/await)

  • GET /tp/await (promise avec async/await)

  • GET /tp/sync (blocking)

  • GET /tp/callback (callback)

  • GET /fibo/:number (gros calcul)

  • POST /auth/login <- { username, passwor } -> { token }

  • POST /auth/register <- { username, password } -> no content

  • GET /auth/check <- header Authorization Bearer -> { username }

Websocket

  • < auth + { token }
  • unauthorized

  • < new-message + { text }
  • received-message + { date, text, author }

Commandes npm de l'application

  • Initialisation: cp .env.sample .env
  • Commandes standard : voir slides
  • Démarrer en mode "watch" : npm run dev
  • Build de production : npm run build
  • Tests : npm test

Serveurs

  • Mongo: docker run --name mongo-formation -d -p 27017:27017 mongo
  • Redis: docker run --name redis-formation -d -p 6379:6379 redis (pas requis immédiatement, serait nécessaire pour le stockage des session & adapter socket.io)

About


Languages

Language:JavaScript 40.3%Language:CSS 33.7%Language:HTML 17.4%Language:SCSS 8.6%