-
Notifications
You must be signed in to change notification settings - Fork 1
Manuel développeur
Jaton David, Naddeo Eddy, Villarejo Maxime
Ce manuel développeur contient toutes les informations nécessaires pour le développement et la maintenance de T-Caps. Il présente notamment les aspects techniques liés à l’implémentation. Pour des informations sur la procédure pour démarrer le développement sur ce projet, un fichier README.md
est également disponible.
- Laravel : v11.26.0
- TailwindCSS : v3.1.0
Toutes les bibliothèques et dépendances utilisées sont listées dans les fichiers package.json
et composer.json
.
Pour la gestion des utilisateurs, Laravel propose le package Laravel Breeze, qui permet d’implémenter facilement une gestion utilisateur de base. Ce package a été utilisé pour créer une implémentation simple basée sur le modèle MVC.
Voici le schéma de la base de données :
-
Contrôleurs :
app/Http
-
Modèles :
app/models
-
Vues :
resources/views
-
Routes :
routes
-
Médias uploader dans l'application par les utilisateurs :
public/source/media
-
Photo de profile :
public/storage/avatar
Les contrôleurs relatifs à l’authentification des utilisateurs se trouvent dans le répertoire app/Http/Auth
. Ils sont générés automatiquement par Laravel Breeze lors de l’initialisation du projet. Aucune modification n’a été apportée.
Ce contrôleur gère la logique liée aux discussions entre utilisateurs. Il implémente les différentes méthodes CRUD pour les chats, les messages et les capsules temporelles.
Ce contrôleur gère la logique des relations d’amitié entre utilisateurs. Il implémente les méthodes CRUD pour gérer les amis ainsi que des fonctionnalités supplémentaires, comme le blocage d’un utilisateur.
Ce contrôleur, généré automatiquement par Laravel Breeze, implémente les fonctionnalités de lecture, mise à jour et suppression d’un profil. Une modification a été apportée pour permettre à un utilisateur de choisir une photo de profil.
-
Chat : Représente l’interface entre la table
chats
de la base de données et l’application. -
Friendship : Représente l’interface entre la table
friendships
de la base de données et l’application. -
Message : Représente l’interface entre la table
messages
de la base de données et l’application. -
User : Représente l’interface entre la table
users
de la base de données et l’application. -
UserChat : Représente l’interface entre la table
user_chat
de la base de données et l’application.
Le répertoire Auth
contient toutes les vues générées par Laravel Breeze. Ces fichiers n’ont pas été modifiés.
Ce répertoire contient tous les composants utilisés dans l’application.
- Les composants à la racine sont ceux générés par Laravel Breeze.
- Le sous-répertoire
friendships
contient l’UI pour la barre de navigation sur la page des amis. - Le sous-répertoire
messaging
contient l’UI pour les messages et les discussions.
Les vues du répertoire friendships
implémentent l’UI pour les fonctionnalités liées aux amis :
- Ajouter, retirer ou bloquer un ami.
- Visualiser les demandes d’amis en attente et la liste des amis.
Les vues du répertoire Layout
implémentent le design général du site.
Les vues du répertoire Profile
implémentent l’UI pour la gestion des profils utilisateurs. Ces fichiers sont générés automatiquement par Laravel Breeze, avec peu de modifications.
La vue Dashboard
implémente l’UI de la partie principale de l’application. Elle comprend :
- La liste des discussions.
- L’affichage des messages d’une discussion.
- L’envoi et la réception de messages en temps réel.
Ces routes concernent l’authentification des utilisateurs et sont générées automatiquement par Laravel Breeze.
Cette route est générée automatiquement par Laravel.
Les routes du fichier web.php
concernent les utilisateurs authentifiés.