Une API REST simple pour gérer des exemples d'entités avec un CRUD complet, construite avec Node.js, Express, MongoDB et TypeScript.
L'entité générable/manipulable sur cette api est un simple objet contenant 2 clés (name, description).
- name :
string (min: 3 & max: 30 length)
,non nullable
,obligatoire
- description :
string (max: 300 length)
,nullable
,facultatif
{
"name":"Nom d'un exemple",
"description": "Description, lorem ipsum dolor sit amet..."
}
- Création d'un exemple (POST)
- Récupération de tous les exemples (GET)
- Récupération d'un exemple par son ID (GET)
- Mise à jour d'un exemple par son ID (PATCH)
- Suppression d'un exemple par son ID (DELETE)
- Suppression de la liste complète des exemples (purge) (DELETE)
Avant de commencer, assurez-vous d'avoir installé :
- Node.js (version 12.x ou supérieur)
- npm (inclus avec Node.js) | yarn
- MongoDB (local ou distant)
Clonez ce dépôt sur votre machine locale :
git clone https://votreDepot.git
cd votreProjet
Installez les dépendances du projet :
yarn install
ou
npm install
Créez un fichier .env à la racine du projet et ajoutez les configurations nécessaires :
PORT=3000
MONGODB_URI=votre_chaine_de_connexion_mongodb
Pour lancer l'API en mode développement, exécutez :
yarn dev
npm run dev
Pour construire et exécuter en production :
yarn build
yarn start
Voici comment consommer l'API :
à titre personnel j'ai effectués mes essaies via le logiciel POSTMAN.
Les exemples ci-dessous font référence à un traitement en local avec le port 3000. localhost:3000/[ENDPOINT]
- Retrouver la liste des Endpoints dans le fichier
src/routes/index.ts
POST /examples
{
"name": "Nom de l'exemple",
"description": "Description de l'exemple"
}
GET /examples
GET /examples/:id
PATCH /examples/:id
{
"name": "Nouveau nom",
"description": "Nouvelle description"
}
DELETE /examples/:id
Les contributions sont les bienvenues ! Pour contribuer, veuillez forker le dépôt, créer une branche pour votre fonctionnalité ou correction, puis soumettre une pull request.
Ce projet est sous licence MIT. Voir le fichier LICENSE
pour plus de détails.
Je suis extrêmement reconnaissant envers mes mentors, qui m'ont soutenu et qui ont eu un regard critique et constructif sur mon travail. Ces personnes sont une véritable source d'inspiration et de motivation pour mon travail en tant que développeur.