Skip to main content

Trame - Réalisation d'un cycle

Redevabilités :

  1. Le cadrage du controle d'un doit impérativement avoir été effectué avant le début du développement de celui ci. 
  2. Faire un point métier avec Johnny avant la réalisation du cadrage.
  3. Faire tester chaque cycle par le client afin de le faire valider / recetter. 

Cadrage 

1. Identifier le cycle à réaliser et se reporter à la page de la documentation correspondante afin de l'éditer. 

2. Lister les contrôles du cycle avec leur nom et leurs objectifs.
Exemple : Le cycle 1 comprend les contrôles "Acceptation", "Effectif", "Fraude", "Juridique", "Travail".

3. Lister les entités présentées dans chacun des contrôles.
Exemple : Le contrôle "juridique" du cycle 1 comprend les entités "Dossier", "Exercice", "Structure".

4. Réaliser un MCD (Modèle Conceptuel de la base de données) pour visualiser les relations entre les entités. Utilise DrawDb ou un autre outil similaire pour dessiner les relations et valider le modèle : https://www.drawdb.app/editor

Développement

  • Créer les modèles et migrations pour chacune des entités, avec leurs colonnes, définies dans le MCD.
  • Ajouter les relations entre les modèles.
  • Créer un dossier du nom de l'entité dans : 
    • app/Livewire
    • ressources/views/components/livewire.
  • Créer un dossier pour chaque entité. Un composant Livewire y sera créé pour gérer les différentes actions.
  • Utiliser des sous-dossier pour les entités génériques ou partagées entre plusieurs cycles, comme "Questions" ou "Réponses".
  • Créer des fichiers Enums pour chaque élément statique de la bdd
  • Créer les seeder associés à ces énums. 
Convention de nommage :
  • Nom des classes en PascalCase.
  • Nom des vues en snake_case.
  • Nom explicite "Create", "List" "Item", "Form" (ect..) précédé du nom de l'entité.
  • Le nom d'une Classe Livewire doit être la même que celle de sa vue.
Formulaires avec Filament form builder :
  • Un formulaire qui n'interagit qu'avec une seule entité doit être rangée dans le dossier de cette entité.
  • Un formulaire qui interagit avec plusieurs entités doit être rangé dans le dossier de l'entité "principale".
Exemple : Je souhaite entrer la liste des tarifs par niveau et par structures d'un dossier donné, je vais créer un TarifStructureNiveauForm.php dans le dossier Tarif. 

Tester : 

  • Chaque controle doit être testé individuellement.
  • Chaque controle doit être testé dans le le scope de son cycle.