RFTG
Un écosystème web, mobile et API pour gérer un service de location de films.
- Année
- 2024
- Statut
- Projet académique terminé
- Rôle
- Conception et développement
- Stack
- PHP, Laravel, JavaScript, CSS, Tailwind CSS, SGBD, API REST, GitHub
Contexte
Projet académique consacré à la conception d’un système complet de gestion de locations de films. Il associe une base de données centralisée, une API REST, une application web destinée aux gérants et une application mobile destinée aux clients.
Problématique
Les gérants et les clients ont des usages différents, mais doivent accéder à des informations communes et constamment synchronisées : catalogue, disponibilités, comptes utilisateurs et locations.
Solution
Le projet a été divisé en plusieurs composants complémentaires : PEACH centralise les données, Toad les expose à travers une API REST, MARIO fournit les outils de gestion et LUIGI permet aux clients de consulter et d’utiliser le service depuis une interface mobile.
Fonctionnalités
- 01Gestion centralisée du catalogue de films
- 02Gestion des clients et des locations
- 03Consultation des films et de leurs disponibilités
- 04API REST reliant les différentes applications
- 05Interface web destinée aux gérants
- 06Application mobile destinée aux clients
Choix techniques
Architecture découpée
La séparation entre la base de données, l’API, l’application web et l’application mobile permet à chaque composant d’avoir une responsabilité clairement définie.
API REST
Toad centralise les échanges avec les données afin que les interfaces web et mobile utilisent les mêmes règles et disposent d’informations cohérentes.
Base de données centralisée
PEACH constitue la source de vérité du projet pour éviter la duplication et les divergences entre les différentes applications.
Stack
- PHP
- Laravel
- JavaScript
- CSS
- Tailwind CSS
- SGBD
- API REST
- GitHub
Difficultés
- Maintenir la cohérence des données entre plusieurs applications
- Concevoir une API utilisable par des interfaces aux besoins différents
- Organiser le développement et les dépendances entre les composants du projet
Ce que j'ai appris
- Concevoir une architecture composée de plusieurs applications interconnectées
- Développer et exploiter une API REST
- Adapter une interface et ses fonctionnalités à différents profils d’utilisateurs
Projet suivant
VaultOne