Bienvenue dans le guide de démarrage rapide de l'API DokiHouse.
Ce guide vous aidera à comprendre et à utiliser les fonctionnalités offertes par DokiHouse.
- User.
- Bonsai.
- Blog.
- User
- Bonsai
- Category
- Style
- Note
- Post
- Comments
L'API DokiHouse offre un ensemble de fonctionnalités pour créer un réseau autour de la passion des Bonsaïs et de la gestion d'un blog. Elle permet de gérer des profils d'utilisateurs, d'ajouter et de suivre des Bonsaïs, de recevoir des notifications, de créer des posts et de commenter.
L'API DokiHouse vise à mettre en relation les utilisateurs partageant une même passion pour les Bonsaïs. Les principales fonctionnalités incluent la possibilité de créer un profil personnel, de gérer des Bonsaïs avec des fonctionnalités telles que l'ajout et le suivi, de recevoir des notifications pertinentes, de créer des posts et de commenter.
L'API n'est pas en ligne, il vous faudra donc télécharger le projet depuis :
➡️ GitHub.
Ensuite, il vous suffira de démarrer le projet dans un IDE, je vous conseille :
➡️ Visual Studio.
Enfin, il vous faudra publier la base de données, il y a une vidéo explicative de moins de 1 min en bas de cette page.
L'API DokiHouse utilise une authentification par Bearer token, directement gérée via l'API au moment de la connexion.
publish_DB.mp4
Si dessous un lien direct vers une documentation générer avec Postman.
➡️ Doc_Postman
Si vous avez des questions, vous pouvez me contacter via :
➡️ LinkedIn.
{
"name": "jhon",
"email": "jhon@example.com",
"passwd": "Test1234*",
"passwdConfirm": "Test1234*"
}
Le name ne peut contenir plus de 50 caractères et ne peut pas être null.
Le passwd doit contenir 8 caractère minimum, une majuscule, une minuscule, un caractère spécial et un chiffre et ne peut pas être null.
L'adresse mail ne peut pas être déjà éxistante en base de donnée (UNIQUE) et ne peut pas être null.
Le passwdConfirm doit être exactement identique à passwd et ne peut pas être null.
{
"name": "bonzi",
"description": "Super description"
}
Le name est de maximum 50 caratères et ne peut pas être null.
Le description peut être null.
Le Bonsai ne peut être créer que si un Utilisateur est enregistrer en base de données.
{
"shohin": false,
"mame": true,
"chokkan": false,
"moyogi": false,
"shakan": false,
"kengai": true,
"hanKengai": true,
"ikadabuki": true,
"neagari": false,
"literati": false,
"yoseUe": false,
"ishitsuki": false,
"kabudachi": false,
"kokufu": false,
"yamadori": false,
"perso": "ninja"
}
Le champ perso ne peut pas contenir plus de 150 caractères et peut être null. Une catégorie est directement lié un a Bonsaï donc impossible de créer une catégorie sans avoir de Bonsaï préalablement créer.
{
"bunjin": true,
"bankan": false,
"korabuki": false,
"ishituki": true,
"perso": "cool"
}
Le champ perso ne peut pas contenir plus de 150 caractères et peut être null. Un style est directement lié un a Bonsaï donc impossible de créer un style sans avoir de Bonsaï préalablement créer.
{
"title": "Important",
"description": "blabla description"
}
Le champ title ne peut pas contenir plus de 100 caractères et ne peut pas être null. Une note est directement lié un a Bonsaï donc impossible de créer une note sans avoir de Bonsaï préalablement créer.
N'accepte que les formats suivant : ".jpg", ".jpeg", ".png"
Les images sont directement sauvegardées sur le serveur.
Les utilisateurs ont un dossier unique pour chacun d'entre eux avec leurs différentes images stocker aussi sous un nom unique.
Les images de profil d'un utilisateur sont générées automatiquement à l'inscription de celui-ci via le front,
via le service de DICEBEAR pour en savoir en plus à leur sujet voici leur site officiel :
➡️ https://www.dicebear.com
Je ne stocke que l'url qui fait référence à l'image produite via l'API de DiceBear.
{
"title": "La main verte",
"description": "Super longue description",
"content": "Et un contenu encore plus long"
}
Le champ title ne peut pas contenir plus de 50 caractères et ne peut pas être null. Le champ description ne peut pas contenir plus de 200 caractères et ne peut pas être null.
{
"content": "J'adore ton post 🥰"
}
Le content ne peut pas être null. Un commentaire cible un post donc le commentaire ne peut exister si il n'est pas lié à un post.
{
"id": 1,
"name": "jhon",
"createAt": "2024-01-24T22:44:15.957",
"modifiedAt": null,
"pictureProfil": null,
"bonsaiDetails": [
{
"id": 2,
"idUser": 1,
"name": "bonzi",
"createAt": "2024-01-24T22:45:22.46",
"modifiedAt": null,
"pictureBonsai": null,
"categories": {
"id": 1,
"shohin": false,
"mame": true,
"chokkan": false,
"moyogi": false,
"shakan": false,
"kengai": true,
"hanKengai": true,
"ikadabuki": true,
"neagari": false,
"literati": false,
"yoseUe": false,
"ishitsuki": false,
"kabudachi": false,
"kokufu": false,
"yamadori": false,
"catePerso": "ninja",
"createAt": "2024-01-24T22:46:04.51",
"modifiedAt": null,
"idBonsai": 2
},
"styles": {
"id": 1,
"bunjin": true,
"bankan": false,
"korabuki": false,
"ishituki": true,
"stylePerso": "cool",
"createdAt": "2024-01-24T22:46:20.08",
"modifiedAt": null,
"idBonsai": 2
},
"notes": {
"id": 1,
"title": "Important",
"description": "blabla description",
"createAt": "2024-01-24T22:46:45.43",
"modifiedAt": null,
"idBonsai": 2
}
}
{
"id": 1,
"title": "La main verte",
"description": "Super longue description",
"content": "Et un contenu encore plus long",
"createAt": "2024-01-24T23:29:38.46",
"modifiedAt": null,
"idUser": 1,
"comments": [
{
"id": 1,
"content": "J'adore ton post ??",
"createAt": "2024-01-24T23:32:42.597",
"modifiedAt": null,
"idPost": 1,
"idUser": 1
}
]
}