Creation du module - Student Detail

  • author-image

    Cathy Lasnier

  • blog-tag Electro-Shop Academy, Laravel
  • blog-comment 0 commentaire
  • created-date 07 Nov, 2024
blog-thumbnail

Liste des Fichiers Créés et Modifiés

FichierCheminFonctionCommandes Utilisées
student_details.phproutes/student_details.phpDéfinit les routes pour la gestion des étudiants : ajouter, modifier, supprimer, afficher.New-Item -Path routes/student_details.php -ItemType File
student_documents.phproutes/student_documents.phpDéfinit les routes spécifiques à la gestion des documents d'étudiants.New-Item -Path routes/student_documents.php -ItemType File
StudentDetailsController.phpapp/Http/Controllers/StudentDetailsController.phpContrôleur qui gère les actions CRUD (Create, Read, Update, Delete) pour les étudiants.php artisan make:controller StudentDetailsController
StudentDocumentController.phpapp/Http/Controllers/StudentDocumentController.phpContrôleur qui gère les documents liés à chaque étudiant, incluant l'ajout, la mise à jour et la suppression de documents.php artisan make:controller StudentDocumentController
UserObserver.phpapp/Observers/UserObserver.phpObservateur pour gérer les événements liés aux utilisateurs, notamment pour créer automatiquement un StudentDetails lorsqu'un utilisateur est créé.New-Item -Path app/Observers/UserObserver.php -ItemType File
AppServiceProvider.phpapp/Providers/AppServiceProvider.phpEnregistre l'observateur pour créer automatiquement un StudentDetails lorsqu'un utilisateur est créé.Modifications manuelles, fichier existant.
RouteServiceProvider.phpapp/Providers/RouteServiceProvider.phpAssure l'enregistrement de toutes les routes créées, avec les middlewares appropriés, et détermine la route de redirection par défaut.Modifications manuelles, fichier existant.
web.phproutes/web.phpFichier principal des routes pour les interactions générales, incluant la redirection et les paramètres d’installation.Modifications manuelles, fichier existant.
api.phproutes/api.phpContient les routes API pour accéder aux fonctionnalités via des requêtes API authentifiées.Modifications manuelles, fichier existant.

Explication de la Fonction de Chaque Fichier

FichierDescription
student_details.phpDéfinit les routes spécifiques à la gestion des informations des étudiants, incluant l'ajout, la modification, la suppression et l'affichage des informations.
student_documents.phpDéfinit les routes relatives aux documents des étudiants. Utilisé pour toutes les actions CRUD associées à ces documents.
StudentDetailsController.phpContrôleur qui gère toutes les opérations relatives aux étudiants (création, mise à jour, affichage, suppression).
StudentDocumentController.phpContrôleur qui gère les documents des étudiants, incluant l'ajout de nouveaux documents, la mise à jour, l'affichage, et la suppression.
UserObserver.phpObservateur qui écoute l'événement de création d'utilisateur. Si le rôle de l'utilisateur est student, crée automatiquement un StudentDetails.
AppServiceProvider.phpEnregistre l'observateur UserObserver pour automatiser la création de StudentDetails à chaque fois qu'un utilisateur de rôle student est créé.
RouteServiceProvider.phpEnregistre toutes les routes à partir des fichiers de route, avec leurs middlewares appropriés, et configure la route par défaut.
web.phpInclut les fonctionnalités générales de l’application telles que les redirections post-authentification et les paramètres d’installation.
api.phpFournit les routes API, permettant à d'autres systèmes d'interagir avec l'application via des requêtes API nécessitant une authentification.

Liste des Commandes Utilisées pour Créer les Fichiers

  • Créer un nouveau fichier de route :

    shell
    New-Item -Path routes/student_details.php -ItemType File New-Item -Path routes/student_documents.php -ItemType File
  • Créer un contrôleur :

    shell
    php artisan make:controller StudentDetailsController php artisan make:controller StudentDocumentController
  • Créer un observateur :

    shell
    New-Item -Path app/Observers/UserObserver.php -ItemType File

Commandes SQL Utilisées

Ajouter un étudiant

sql
INSERT INTO student_details ( user_id, first_name, last_name, email, phone, emergency_contact_name, emergency_contact_phone, school_name, study_program, internship_supervisor, supervisor_email, internship_duration_hours, hours_per_week, start_date, end_date ) VALUES ( 1, 'John', 'Doe', 'john.doe@student.com', '1234567890', 'Jane Doe', '0987654321', 'ISI', 'DEP en soutien informatique', 'Marilyn Lafleur', 'marilyn.lafleur@csmb.gouv.qc.ca', 240, 30, '2024-10-28', '2024-12-20' );

Ajouter un document

sql
INSERT INTO student_documents ( student_id, category, name, author, date, status, notes, document_path ) VALUES ( 1, 'Stage Evaluation', 'Evaluation Report', 'Supervisor', '2024-12-15', 'Pending', 'Final evaluation of student performance during internship', 'path/to/evaluation_report.pdf' );

Commandes Artisan Utilisées pour la Migration et l'Observateur

  • Créer une nouvelle migration corrective pour ajuster les colonnes des tables :

    shell
    php artisan make:migration update_student_details_nullable_fields php artisan migrate
  • Enregistrer l'observateur : Les modifications ont été apportées dans AppServiceProvider.php pour enregistrer UserObserver.

Liens pour Tester les Endpoints

  • Liste de tous les étudiants :

    url
    http://127.0.0.1:8000/student-details
  • Liste des documents pour un étudiant (student_id = 1) :

    url
    http://127.0.0.1:8000/student-documents/1

Logs Utilisés pour Déboguer

  • Chemin des logs : storage/logs/laravel.log
  • Ce qui est enregistré :
    • Lors de la création d'un utilisateur.
    • Si l'utilisateur a le rôle student.
    • Création réussie ou erreur lors de la création du StudentDetails.
author_photo
Cathy Lasnier

0 commentaire