du NAMX HUV la plus grand SUV à pile à combustible. Annonçant jusqu’à 800 km d’autonomie d'une façon futuriste pour entamer sa commercialisation à horizon 2025.
la demande du CEO & Founder at NamX c'est de partage l'expérience immersive de la plus grand HUV .
Table of Contents
Créez une API REST Node.js maintenable et évolutive avec Express et Mongoose.
The project structure is based on MVC and follows it's basic principles but is a little bit different in which instead of having the entities logic spread out into specific folders (models folder containing all models, controllers folder containing all controllers etc...).
Each entity has it's own folder containing all it's core logic . Let's take the User
entity as an example:
backend
└── entities
└── helpers
└──nodemailer.js
└── controllers
├── userController.js
└── models
├── userModel.js
└── routes
└── userRouter.js
Grâce à cette structure, il est plus facile de maintenir et de faire évoluer plusieurs entités (vous aurez rarement à passer d'un dossier à l'autre pour gérer une entité).
Le projet est livré avec de nombreuses fonctionnalités intégrées, telles que :
- Authentification avec JWT : fournissant à la fois un jeton d'accès et un jeton de rafraîchissement (envoyé sous forme de cookie http sécurisé uniquement et enregistré dans la base de données).
- Système de connexion unifié pour la prise en charge de plusieurs rôles d'utilisateurs.
- Validation utilisant nodemailer.
- Gestion des erreurs et méthode personnalisée de capture des erreurs.
- Population optionnelle, sélection des champs à remplir et des champs à renvoyer par les requêtes GET.
- Plus de détails ci-dessous...
Cette section doit énumérer tous les principaux frameworks/bibliothèques utilisés pour lancer votre projet. Laissez les add-ons/plugins pour la section remerciements. Voici quelques exemples.
- [![express][express.js]][express-url]
npm init
*By default, it uses npm
to install dependencies.
- If you prefer another package manager you can pass it as an argument
yarn
Then open the project folder and install the required dependencies:
npm init
npm install express
Setup your environment variables. In your root directory, you will find a .env
:
.env
Then:
npm start
La base de données doit être connectée et votre serveur doit être en cours d'exécution. Vous pouvez commencer à tester et à interroger l'API.
npm run start
backend/
├──controllers/ # Contains mostly global and reusable logic (such as auth and crud)
├── db/ # Database, routes and server configurations
├── middlewares/ # Express middlewares
├── routes # Contains entity templates (default and user type)
├── models/ # Custom/global type definitions
└── index.ts # App entry point (initializes database connection and express server)
List of available routes:
Auth routes (public):
POST /api/register
- register
POST /api/login
- login\
User routes (private):
GET /api/users
- get all users
GET /api/users/:id
- get user by id
PATCH /api/users/:id
- update user
DELETE /api/users/:id
- delete user
Admin routes:
GET /api/admins
- get all admins
GET /api/admins/:id
- get admin by id
PATCH /api/admins/:id
- update admin
DELETE /api/admins/:id
- delete admin
Faiza RABHI
Ayoub Benouahi
Saida Moussahif