Test de création d'une API CRUD REST en utilisant le framework backend NESTJS avec une authentification JWT, la mise en place de tests E2E et l'utilisation d'une base de données relationnelle (techno utilisées : Docker, Postgres, Passport.js, Prisma, Pactum et Dotenv).
Ce projet a été initialisé avec le starter de la CLI Nest.
A progressive Node.js framework for building efficient and scalable server-side applications.
- récupération du projet sur Github par HTTPS :
$ https://github.com/tony-dugue/nestjs-api-bookmarks.git
- installer les packages :
$ yarn install
(1) démarrer l'application docker
(2) Démarrer le serveur de développement (à la racine du projet) :
$ yarn start #ou $ npm run start
Ou avec le watch mode
$ yarn start:dev #ou $ npm run start:dev
(3) dans un 2nd terminal, démarrer la visualisation de la base de données avec prisma :
$ npx prisma studio
Voir les containers docker en cours de fonctionnement (si la bdd est bien démarrée) :
$ docker ps
pour redémarrer la base de données (script auto pour tuer la bdd, la redémarrer et appliquer toutes les migrations) :
# après avoir démarrer l'application docker
$ yarn db:dev:restart
Préparer l'application pour la production :
$ yarn start:prod #ou $ npm run start:prod
Générer une migration manuellement :
$ npx prisma migrate dev
# e2e tests
$ yarn test:e2e #ou $ npm run test:e2e
visualisation de la base de données de test avec prisma :
$ npx dotenv -e .env.test -- prisma studio
docker
Base de données : postgres
Authentification middleware pour Nodejs : passport.js
Typescript ORM : prisma
Outil d'automatisation des tests d'API REST en E2E : pactum
Variables d'environnement : dotenv
Nest is an MIT licensed open source project. It can grow thanks to the sponsors and support by the amazing backers. If you'd like to join them, please read more here.
- Author - Kamil Myśliwiec
- Website - https://nestjs.com
- Twitter - @nestframework