Ce projet est une application d'authentification et api des recettes construite avec Node.js et Express.js, utilisant TypeScript pour une gestion plus robuste des types. La base de données est gérée avec Mongoose, et la validation des données est effectuée à l'aide de Joi. Les utilisateurs sont authentifiés à l'aide de JSON Web Tokens (JWT).
- Node.js (version recommandée : 14.x)
- MongoDB (assurez-vous que le service MongoDB est en cours d'exécution)
-
Clonez le dépôt :
git clone "https://github.com/theziko1/Implementation-de-Authentification" cd Implementation-de-Authentification
yarn add
Créez un fichier .env à la racine du projet en vous basant sur le modèle .env.example. Configurez les variables d'environnement selon vos besoins. Compilez le code TypeScript en JavaScript :
yarn run build
Exécutez l'application :
yarn start
L'application sera accessible à l'adresse http://localhost:3000 par défaut. Vous pouvez modifier le port dans le fichier .env.
src/ : Contient le code source TypeScript. controllers/ : Contrôleurs de l'application. models/ : Modèles Mongoose pour la base de données. routes/ : Routes de l'application. middleware/ : Middleware, y compris la gestion de l'authentification.
POST /auth/register : Enregistrement d'un nouvel utilisateur.
POST /auth/login : Authentification d'un utilisateur existant.
GET /auth/logout : Déconnexion du profil de l'utilisateur authentifié.
POST /recipes : Enregistrement d'un nouvel recette.
GET /recipes : Récupérer les recettes.
GET /recipe/{id} : Récupérer la recette par leur id.
PUT /recipe/{id} : Modifier la recette par leur id.
DELETE /recipe/{id} : Supprimer la recette par leur id.
PORT : Port sur lequel l'application sera exposée. MONGODB_URL : URL de la base de données MongoDB. SECRET_KEY : Clé secrète pour signer les JWT. Contribuer Si vous souhaitez contribuer à ce projet, veuillez suivre les instructions de CONTRIBUTING.md.
License Ce projet est sous licence MIT.