This is an old revision of the document!


Sesiuna 5 - Implementarea serviciului de Notificari si cuplarea integrala a microserviciilor

In primul rand, felicitari tuturor celor care ati ajuns pana aici!

Astazi este ultima sesiune de scris cod si, pentru a celebra acest lucru, veti avea parte de o sesiune complet practica, in care va trebui sa dezvoltati de la zero serviciul de Notificari.

Ce veti invata?

  • sa scrieti de la 0 un REST Api in NodeJS
  • sa va cuplati cu alte servicii prin cereri HTTP
  • sa testati complet o suita de microservicii

Resurse

Resursele sunt, ca intotdeauna, gasite pe repository-ul grupului.

Aveti implementate complet:

  • microserviciul de library
  • microserviciul de auth
  • microserviciul de mailing

Pentru a porni cele 3 microservicii, efectuati urmatoarele comenzi:

- in folderul database-deploy din library si auth

docker-compose up 

- in toate cele 3 servicii:

npm run start-dev

Serviciul de mailing NU ARE .env pus in git, ci are un .env.example. Va trebui sa va creati voi fisierul .env si sa va puneti credentialele de la serviciul de email pe care il veti folosi.

Dupa ce terminati de scris mailing, PUNETI .env IN .gitignore pentru ca acesta va contine date sensibile

De astazi, serviciul de auth va intoarce, in momentul interogarii de catre alte servicii, si email, pe langa userId si role

Exercitii

Trebuie sa implementati serviciul de notificari complet. Trebuie sa tineti cont de urmatoarele:

  • veti avea o singura ruta /api/newsletter
  • pe aceasta ruta veti avea urmatoarele sub-rute:
-> GET /subscribe //autorizare pentru ADMIN si READER
 
-> DELETE /unsubscribe //autorizare pe ADMIN si READER
 
-> DELETE /unsubscribe/user/:userId //ruta interna ce va fi folosita pentru sincronizare
 
-> POST /notify 
/* ruta interna ce va fi folosita de microserviciul library, atunci cand se adauga o carte
 * primeste un obiect JSON de forma
 * {
 *    bookName,
 *    author
 * }
 */
moby/backend/05.1596199773.txt.gz · Last modified: 2020/07/31 15:49 by alexandru.hogea
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0