Cette documentation fournit des informations détaillées sur l'API de HappiHub, y compris les descriptions des endpoints, les paramètres, et des exemples de requêtes et de réponses. L'API de HappiHub permet aux développeurs d'interagir avec les fonctionnalités de la plateforme, telles que l'inscription des utilisateurs, la gestion des événements, et bien plus encore.
- Endpoint:
/api/users/signup
- Méthode HTTP:
POST
- Description: Permet à un visiteur de s'inscrire sur la plateforme HappiHub.
- Paramètres:
name
(string) - Nom de l'utilisateuremail
(string) - Email de l'utilisateurpassword
(string) - Mot de passe de l'utilisateur
- Exemple de Requête:
{
"name": "John Doe",
"email": "[email protected]",
"password": "password123"
}
- Exemple de Réponse:
{
"message": "Inscription réussie",
"user": {
"id": "60b8d2956b2e2c001b8f4a8a",
"name": "John Doe",
"email": "[email protected]"
}
}
- Endpoint:
/api/users/login
- Méthode HTTP:
POST
- Description: Permet à un utilisateur de se connecter à la plateforme HappiHub.
- Paramètres:
email
(string) - Email de l'utilisateurpassword
(string) - Mot de passe de l'utilisateur
- Exemple de Requête:
{
"email": "[email protected]",
"password": "password123"
}
- Exemple de Réponse:
{
"message": "Connexion réussie",
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
}
- Endpoint:
/api/users/logout
- Méthode HTTP:
POST
- Description: Permet à un utilisateur de se déconnecter de la plateforme HappiHub.
- Paramètres: Aucuns
- Exemple de Requête:
{}
- Exemple de Réponse:
{
"message": "Déconnexion réussie"
}
- Endpoint:
/api/users/role
- Méthode HTTP:
GET
- Description: Permet à un utilisateur authentifié de récupérer son rôle actuel sur la plateforme HappiHub.
- Paramètres: Aucuns
- Exemple de Requête:
GET /api/users/role
- Exemple de Réponse:
{
"role": "Visitor"
}
- Endpoint:
/api/users/:id
- Méthode HTTP:
GET
- Description: Récupère les informations d'un utilisateur spécifique.
- Paramètres:
id
(string) - ID de l'utilisateur
- Exemple de Requête:
GET /api/users/60b8d2956b2e2c001b8f4a8a
- Exemple de Réponse:
{
"id": "60b8d2956b2e2c001b8f4a8a",
"name": "John Doe",
"email": "[email protected]"
}
- Endpoint:
/api/users/profile
- Méthode HTTP:
PUT
- Description: Permet à un utilisateur authentifié de mettre à jour les informations de son profil.
- Paramètres:
name
(string) - Nom de l'utilisateuremail
(string) - Email de l'utilisateurpassword
(string) - Mot de passe de l'utilisateurrank
(string) - Rang de l'utilisateur
- Exemple de Requête:
{
"name": "Jane Doe",
"email": "[email protected]",
"password": "newpassword123",
"rank": "Friend"
}
- Exemple de Réponse:
{
"message": "Profil mis à jour avec succès",
"user": {
"id": "60b8d2956b2e2c001b8f4a8a",
"name": "Jane Doe",
"email": "[email protected]",
"rank": "Friend"
}
}
- Endpoint:
/api/events
- Méthode HTTP:
POST
- Description: Permet à un utilisateur de créer un nouvel événement.
- Paramètres:
title
(string) - Titre de l'événementdescription
(string) - Description de l'événementdate
(string) - Date de l'événementlocation
(string) - Lieu de l'événement
- Exemple de Requête:
{
"title": "Concert de Rock",
"description": "Un concert de rock en plein air.",
"date": "2024-08-15T18:00:00Z",
"location": "Parc Central"
}
- Exemple de Réponse:
{
"message": "Événement créé avec succès",
"event": {
"id": "60b8d2956b2e2c001b8f4a8b",
"title": "Concert de Rock",
"description": "Un concert de rock en plein air.",
"date": "2024-08-15T18:00:00Z",
"location": "Parc Central"
}
}
- Endpoint:
/api/events
- Méthode HTTP:
GET
- Description: Récupère la liste des événements.
- Paramètres: Aucuns
- Exemple de Requête:
GET /api/events
- Exemple de Réponse:
[
{
"id": "60b8d2956b2e2c001b8f4a8b",
"title": "Concert de Rock",
"description": "Un concert de rock en plein air.",
"date": "2024-08-15T18:00:00Z",
"location": "Parc Central"
},
{
"id": "60b8d2956b2e2c001b8f4a8c",
"title": "Atelier de Peinture",
"description": "Un atelier de peinture pour les débutants.",
"date": "2024-08-20T10:00:00Z",
"location": "Centre Culturel"
}
]
- Endpoint:
/api/events/public
- Méthode HTTP:
GET
- Description: Récupère la liste des événements publics.
- Paramètres: Aucuns
- Exemple de Requête:
GET /api/events/public
- Exemple de Réponse:
[
{
"id": "60b8d2956b2e2c001b8f4a8
b",
"title": "Concert de Rock",
"description": "Un concert de rock en plein air.",
"date": "2024-08-15T18:00:00Z",
"location": "Parc Central"
},
{
"id": "60b8d2956b2e2c001b8f4a8c",
"title": "Atelier de Peinture",
"description": "Un atelier de peinture pour les débutants.",
"date": "2024-08-20T10:00:00Z",
"location": "Centre Culturel"
}
]
- Endpoint:
/api/comments/add
- Méthode HTTP:
POST
- Description: Permet à un utilisateur authentifié d'ajouter un commentaire à un événement spécifique.
- Paramètres:
text
(string) - Contenu du commentaireevent_id
(string) - ID de l'événementuser_id
(string) - ID de l'utilisateur
- Exemple de Requête:
{
"text": "Super événement, j'ai adoré !",
"event_id": "60b8d2956b2e2c001b8f4a8b",
"user_id": "60b8d2956b2e2c001b8f4a8a"
}
- Exemple de Réponse:
{
"message": "Commentaire ajouté avec succès",
"comment": {
"id": "60b8d2956b2e2c001b8f4a8d",
"event_id": "60b8d2956b2e2c001b8f4a8b",
"user_id": "60b8d2956b2e2c001b8f4a8a",
"text": "Super événement, j'ai adoré !",
"date": "2024-07-16T18:00:00Z"
}
}
- Endpoint:
/api/comments/:commentId
- Méthode HTTP:
PUT
- Description: Permet à un utilisateur de modifier un commentaire existant sur un événement spécifique.
- Paramètres:
text
(string) - Nouveau contenu du commentaire
- Exemple de Requête:
{
"text": "Événement fantastique, vraiment bien organisé !"
}
- Exemple de Réponse:
{
"message": "Commentaire modifié avec succès",
"comment": {
"id": "60b8d2956b2e2c001b8f4a8d",
"event_id": "60b8d2956b2e2c001b8f4a8b",
"user_id": "60b8d2956b2e2c001b8f4a8a",
"text": "Événement fantastique, vraiment bien organisé !",
"date": "2024-07-16T18:00:00Z"
}
}
- Endpoint:
/api/comments/:commentId
- Méthode HTTP:
DELETE
- Description: Permet à un utilisateur de supprimer un commentaire existant sur un événement spécifique.
- Paramètres: Aucuns
- Exemple de Requête:
DELETE /api/comments/60b8d2956b2e2c001b8f4a8d
- Exemple de Réponse:
{
"message": "Commentaire supprimé avec succès"
}
- Endpoint:
/api/events/:eventId/comments
- Méthode HTTP:
GET
- Description: Permet à un utilisateur de récupérer la liste des commentaires pour un événement spécifique.
- Paramètres: Aucuns
- Exemple de Requête:
GET /api/events/60b8d2956b2e2c001b8f4a8b/comments
- Exemple de Réponse:
[
{
"id": "60b8d2956b2e2c001b8f4a8d",
"event_id": "60b8d2956b2e2c001b8f4a8b",
"user_id": "60b8d2956b2e2c001b8f4a8a",
"text": "Super événement, j'ai adoré !",
"date": "2024-07-16T18:00:00Z"
},
{
"id": "60b8d2956b2e2c001b8f4a8e",
"event_id": "60b8d2956b2e2c001b8f4a8b",
"user_id": "60b8d2956b2e2c001b8f4a8a",
"text": "Vraiment une belle expérience, merci aux organisateurs !",
"date": "2024-07-16T18:00:00Z"
}
]
- Diagramme de Séquence : Pour visualiser le flux des opérations et l'interaction avec les endpoints.