galery-photo-chloe
v1.5.1
Published
Ceci est une API utilisée dans le cadre d'un site de photographe pro. L'idée est d'implémenter un système de galeries publiques / privée. Cette api va donc permettre d'avoir des galeries stockées en base de données, qui vont contenir des images pour les g
Downloads
2
Readme
API explication
Ceci est une API utilisée dans le cadre d'un site de photographe pro. L'idée est d'implémenter un système de galeries publiques / privée. Cette api va donc permettre d'avoir des galeries stockées en base de données, qui vont contenir des images pour les galeries publiques et des images + un user particulier dans les galeries privées. Concernant OAuth2, il est implémenté via le jwt et la couche de validation au moment de la connexion est suffisamment robuste pour le contexte de l'application
ORM
L'ORM utilisé est Mongoose. J'ai choisis de partir sur un stockage sur MongoDB pour diverses raisons. Les données, schémas de données ainsi que leurs types peuvent varier au fil du temps, l'accès aux données nécessitant un pattern commun et pour finir le contexte de l'application ne visant pas à traiter un large volume de données; ces raisons m'ont menées à m'orienter vers MongoDB qui est une base de données non relationnelle comportant l'intégralité des fonctionnalités nécessaires au bon fonctionnement de cette API.
Membre du groupe :
API mise en ligne via Heroku à l'adresse suivant :
API déployée sur npm :
- galery-photo-chloe
- Pour l'utiliser :
npm i galery-photo-chloe
- dans un fichier
index.js
:const app = require('galery-photo-chloe');
- créer un fichier
.env
à la racine avec les bonnes données en se basant sur le.env.example
node index.js
Installation des dépendances :
npm install
Database :
- Créer un fichier
.env
à la racine avec les bonnes données en se basant sur le.env.example
Lancement du projet :
npm run dev
Collection Insomnia & Postman
- Les collections sont disponibles dans le dossier
./src/collections
Features :
Users
- Inscription et connexion d'un utilisateur avec gestion du role processor(admin) / user.
- Voir l'utilisateur actif
- Voir tous les utilisateurs (admin)
- Supprimer un utilisateur (admin)
- Toutes les routes sont protégées avec un JWT.
Posts
- Ajouter une galerie (admin)
- Supprimer une galerie (admin)
- Mettre à jour une galerie (admin)
- Voir toutes les galeries
- Voir une galerie
Comptes enregistrés
- Administrateur
- [email protected]
- Admin123
- User
- [email protected]
- Password@123
Middlewares :
authenticated
: Un middleware qui nous permet de savoir si un utilisateur est authentifié, par conséquent maitriser l'accés à certains endpoints.jwt
: Un middleware permettant de générer un token, sur la base des informations fournies par l'utilisateur et de l'authentifier en le comparant.error
: Un middleware permettant d'avoir une erreur de fallback lorsqu'aucune des précédentes erreurs prises en charge n'entre dans le contexte de cette dernièrevalidation
: Un middleware permettant de passer tout nos schémas de validation utilisés par une méthode d'un controlleur