<<<<<<< HEAD
backend frontend Pour utiliser ce code avec une base de données MongoDB :
Créez un compte sur MongoDB Atlas ou utilisez une instance MongoDB existante. Créez une base de données et obtenez l'URI de connexion fournie par MongoDB Atlas ou votre instance MongoDB. Remplacez la balise de remplacement MONGO_URL dans le fichier .env (ou tout autre fichier où cette configuration est nécessaire) par l'URI de connexion que vous avez obtenu.
<<<<<<< HEAD README de l'API
Il s'agit d'une API Node.js basique utilisant Express et MongoDB, conçue pour gérer l'inscription d'utilisateurs, la connexion, la création de publications, la mise à jour, la suppression, la gestion de profil utilisateur, ainsi que le suivi/désabonnement d'autres utilisateurs. L'API utilise bcrypt pour le hachage des mots de passe et MongoDB comme base de données.
Node.js installé Un compte MongoDB Atlas (ou une autre instance MongoDB) Un éditeur de code (par exemple, VSCode)
=======
frontend
Il s'agit d'une API Node.js basique utilisant Express et MongoDB, conçue pour gérer l'inscription d'utilisateurs, la connexion, la création de publications, la mise à jour, la suppression, la gestion de profil utilisateur, ainsi que le suivi/désabonnement d'autres utilisateurs. L'API utilise bcrypt pour le hachage des mots de passe et MongoDB comme base de données.
Node.js installé Un compte MongoDB Atlas (ou une autre instance MongoDB) Un éditeur de code (par exemple, VSCode)
backend frontend Clonez le dépôt :
git clone https://github.com/theotime2005/YOWL.git
cd YOWL/back
Installez les dépendances :
npm install
<<<<<<< HEAD
Obtenez une URI MongoDB auprès de MongoDB Atlas ou de votre instance MongoDB. Remplacez la balise de remplacement MONGO_URL dans .env par votre véritable URI MongoDB.
- Authentification de l'utilisateur Inscrire un utilisateur Endpoint : /register Méthode : POST Description : Inscrivez un nouvel utilisateur avec un nom d'utilisateur, un e-mail et un mot de passe uniques. Corps de la requête : json =======
frontend
Obtenez une URI MongoDB auprès de MongoDB Atlas ou de votre instance MongoDB. Vous devez créer un fichier ".env" dans le dossier back et y ajouter les lignes suivantes, en les complétant avec vos informations d'identifications
MONGO_URL = "url_mongo_db"
MAIL_SERVER="smtp.myserver.com"
MAIL_ADRESS="votre_adresse@myserver.com"
MAIL_PASSWORD="votre_mot_de_passe"
http://localhost:8800/api/auth/register
Content-Type: application/json
Description : Inscrivez un nouvel utilisateur avec un nom d'utilisateur, un e-mail et un mot de passe uniques. Corps de la requête :
<<<<<<< HEAD
=======
>>>>>>> backend
>>>>>>> frontend
{
"username": "votre_nom_utilisateur",
"email": "votre_email@example.com",
"password": "votre_mot_de_passe"
}
<<<<<<< HEAD
=======
<<<<<<< HEAD
Réponse :
Succès : 200 OK avec les détails de l'utilisateur inscrit.
Échec : 500 Internal Server Error avec un message d'erreur.
Connexion
Endpoint : /login
Méthode : POST
Description : Authentifiez un utilisateur avec son nom d'utilisateur et son mot de passe.
Corps de la requête :
json
=======
>>>>>>> frontend
Réponse : Succès : 200 OK avec les détails de l'utilisateur inscrit. Échec : 500 Internal Server Error avec un message d'erreur.
http://localhost:8800/api/auth/login
Content-Type: application/json
Méthode : POST Description : Authentifiez un utilisateur avec son nom d'utilisateur et son mot de passe. Corps de la requête :
<<<<<<< HEAD
=======
>>>>>>> backend
>>>>>>> frontend
{
"username": "votre_nom_utilisateur",
"password": "votre_mot_de_passe"
}
<<<<<<< HEAD
=======
<<<<<<< HEAD
Réponse :
Succès : 200 OK avec les détails de l'utilisateur authentifié.
Échec : 404 Not Found si l'utilisateur n'est pas trouvé, 400 Bad Request si le mot de passe est incorrect, ou 500 Internal Server Error pour d'autres erreurs.
2. Gestion des publications
Créer une publication
Endpoint : /posts
Méthode : POST
Description : Créez une nouvelle publication.
Corps de la requête :
json
=======
>>>>>>> frontend
Réponse : Succès : 200 OK avec les détails de l'utilisateur authentifié. Échec : 404 Not Found si l'utilisateur n'est pas trouvé, 400 Bad Request si le mot de passe est incorrect, ou 500 Internal Server Error pour d'autres erreurs.
http://localhost:8800/api/POST
Content-Type: application/json
Méthode : POST Description : Créez une nouvelle publication. Corps de la requête :
<<<<<<< HEAD
=======
>>>>>>> backend
>>>>>>> frontend
{
"userId": "identifiant_utilisateur",
"content": "contenu_de_la_publication"
}
<<<<<<< HEAD
=======
<<<<<<< HEAD
Réponse :
Succès : 200 OK avec les détails de la publication créée.
Échec : 500 Internal Server Error avec un message d'erreur.
Mettre à jour une publication
Endpoint : /posts/:id
Méthode : PUT
Description : Mettez à jour une publication par son ID.
Corps de la requête :
json
=======
>>>>>>> frontend
Réponse : Succès : 200 OK avec les détails de la publication créée. Échec : 500 Internal Server Error avec un message d'erreur.
http://localhost:8800/api/post/:ID
Content-Type: application/json
Méthode : PUT Description : Mettez à jour une publication par son ID. Corps de la requête :
<<<<<<< HEAD
=======
>>>>>>> backend
>>>>>>> frontend
{
"userId": "identifiant_utilisateur",
"content": "contenu_de_la_publication_modifié"
}
<<<<<<< HEAD
=======
<<<<<<< HEAD
Réponse :
Succès : 200 OK avec un message de réussite.
Échec : 403 Forbidden si l'utilisateur ne possède pas la publication, ou 500 Internal Server Error pour d'autres erreurs.
Supprimer une publication
Endpoint : /posts/:id
Méthode : DELETE
Description : Supprimez une publication par son ID.
Corps de la requête :
json
{
"userId": "identifiant_utilisateur"
}
Réponse :
Succès : 200 OK avec un message de réussite.
Échec : 403 Forbidden si l'utilisateur ne possède pas la publication, ou 500 Internal Server Error pour d'autres erreurs.
Aimer/Désaimer une publication
Endpoint : /posts/:id/like
Méthode : PUT
Description : Aimez ou n'aimez pas une publication par son ID.
Corps de la requête :
json
{
"userId": "identifiant_utilisateur"
}
Réponse :
Succès : 200 OK avec un message de réussite.
Échec : 500 Internal Server Error avec un message d'erreur.
Obtenir une seule publication
Endpoint : /posts/:id
=======
>>>>>>> frontend
Réponse : Succès : 200 OK avec un message de réussite. Échec : 403 Forbidden si l'utilisateur ne possède pas la publication, ou 500 Internal Server Error pour d'autres erreurs.
http://localhost:8800/api/posts/:id
Content-Type: application/json
Méthode : DELETE Description : Supprimez une publication par son ID. Corps de la requête :
{
"userId": "identifiant_utilisateur"
}
Réponse : Succès : 200 OK avec un message de réussite. Échec : 403 Forbidden si l'utilisateur ne possède pas la publication, ou 500 Internal Server Error pour d'autres erreurs.
http://localhost:8800/api/posts/:id/like
Content-Type: application/json
Méthode : PUT Description : Aimez ou n'aimez pas une publication par son ID. Corps de la requête :
{
"userId": "identifiant_utilisateur"
}
Réponse : Succès : 200 OK avec un message de réussite. Échec : 500 Internal Server Error avec un message d'erreur.
http://localhost:8800/api/posts/:id
Accept: application/json
backend frontend Méthode : GET Description : Récupérez une publication par son ID. Réponse : Succès : 200 OK avec les détails de la publication. Échec : 500 Internal Server Error avec un message d'erreur. <<<<<<< HEAD ======= <<<<<<< HEAD Obtenir la chronologie de l'utilisateur Endpoint : /posts/timeline/all Méthode : GET Description : Récupérez les publications de l'utilisateur et de ceux qu'il suit. Corps de la requête : json { "userId": "identifiant_utilisateur" } Réponse : Succès : 200 OK avec un tableau de publications. Échec : 500 Internal Server Error avec un message d'erreur.
- Gestion du profil utilisateur Mettre à jour le profil utilisateur Endpoint : /users/:id Méthode : PUT Description : Mettez à jour le profil utilisateur par ID. Corps de la requête : json =======
frontend
http://localhost:8800/api/posts/timeline/all
Accept: application/json
Méthode : GET Description : Récupérez les publications de l'utilisateur et de ceux qu'il suit. Corps de la requête :
{
"userId": "identifiant_utilisateur"
}
Réponse : Succès : 200 OK avec un tableau de publications. Échec : 500 Internal Server Error avec un message d'erreur.
http://localhost:8800/api/users/:id
Content-Type: application/json
Méthode : PUT Description : Mettez à jour le profil utilisateur par ID. Corps de la requête :
<<<<<<< HEAD
=======
>>>>>>> backend
>>>>>>> frontend
{
"userId": "identifiant_utilisateur",
// Inclure d'autres champs à mettre à jour (par exemple, "username", "email", "password")
}
<<<<<<< HEAD
=======
<<<<<<< HEAD
Réponse :
Succès : 200 OK avec un message de réussite.
Échec : 403 Forbidden si l'utilisateur ne possède pas le compte, ou 500 Internal Server Error pour d'autres erreurs.
Supprimer le compte utilisateur
Endpoint : /users/:id
=======
>>>>>>> frontend
Réponse : Succès : 200 OK avec un message de réussite. Échec : 403 Forbidden si l'utilisateur ne possède pas le compte, ou 500 Internal Server Error pour d'autres erreurs.
http://localhost:8800/api/users/:id
Content-Type: application/json
backend frontend Méthode : DELETE Description : Supprimez le compte utilisateur par ID.