Objectif:
Nous recherchons un développeur talentueux pour développer une REST API - gestion de bibliothèque. Les administrateurs pourront créer et gérer des livres et des catégories. Des rôles utilisateur seront également implémentés pour limiter les fonctionnalités en fonction des permissions d'accès.
Création, édition, suppression et consultation des livres. Création, édition, suppression et consultation de genre. Implémentation de rôles utilisateur pour limiter les fonctionnalités en fonction des permissions d'accès.
Laravel, PHP, MySQL, API REST, JSON, Documentation API (POSTMAN, OPEN API ou SWAGGER). Authentification avec Laravel via (sanctum, jwt ou bien passport). Framework requise: soit Laravel ou Lumen.
- En tant qu'utilisateur, je peux créer un compte en utilisant mon adresse e-mail et un mot de passe sécurisé.
- En tant qu'utilisateur, je peux me connecter à mon compte existant en utilisant mon adresse e-mail et mon mot de passe.
- En tant qu'utilisateur, je peux réinitialiser mon mot de passe en utilisant mon adresse e-mail associée à mon compte.
- En tant qu'utilisateur, je peux modifier les informations de mon compte, telles que mon adresse e-mail et mon mot de passe, en tout temps.
- En tant qu'un réceptionniste de la bibliothèque, je peux créer un produit en saisissant un titre, auteur du livre, collection, isbn, date de publication, nombre de pages, emplacement (l'emplacement physique du livre dans la bibliothèque), statut (statut actuel du livre, par exemple emprunté, disponible, entraitement, etc), un contenu et en associant des genres.
- En tant qu'un réceptionniste, je peux éditer ou supprimer les livres existants.
- En tant qu'utilisateur, je peux consulter la liste des livres disponibles, filter par genre et afficher les détails d'un livre en particulier.
- En tant qu'administrateur, je peux éditer ou supprimer tous les livres et les genres.
- En tant qu'administrateur, je peux créer, éditer et supprimer des genres.
- En tant qu'administrateur, je peux éditer et supprimer des rôles utilisateur, et affecter des permissions d'accès à chaque rôle.