Création du projet et du modèle EF (partie Logiciels) sans les relations entre entités
Ajout des relations entre entités dans le modèle EF créé précédemment
Création d'un jeu de données par le code (appliqué par migration). Ajout d'un script SQL à exécuter sur la base pour compléter le jeu de données.
Création d'un contrôleur avec actions de lecture pour les logiciels
Ajout des tables Equipes, Services, Personnes et Metiers dans la baes.
Ajout d'un petit jeu de données.
Création d'un contrôleur pour exploiter ces tables.
Création d'actions pour l'ajout de releases au format FormData et d'équipes et personnes au format JSON
Gestion des erreurs liées aux contraintes d'intégrité pour renvoyer des réponses 400.
Journalisation détaillée de ces erreurs avec la méthode d'extension du contrôleur vue dans le cours.
Ajout de règles de validation implémentées manuellement sur les versions et releases.
Ajout des tables Activites, ActivitesMetiers, Taches et Travaux.
Insertion d'un jeu de données.
Création du contrôleur avec actions de lecture et d'ajout pour les tâches et travaux.
Ajout de règles métier pour la création de tâches et travaux.
Ajout d'actions DELETE et PUT pour la suppression et la modification de tâches, travaux et personnes.
Ajout d'une action PATCH pour la modification de versions.
Création d'un serveur d'identité avec Duende IdentityServer
Sécurisation de l'API et création d'une appli cliente de test Blazor WASM avec Backend For Frontend
Ajout d'utilisateurs et de revendications sur le serveur d'identité.
Configuration de l'autorisation sur l'API pour la gestion des tâches et des équipes.
Mise en œuvre du générateur de doc NSwag et ajout de descriptions sur les actions du contrôleur des tâches.
Ajout du projet de tests unitaires pour tester le service métier ServiceTaches.
Versionnage de l'API et de sa doc, dans une architecture à un seul projet, avec un modèle EF et une base communs aux 2 versions.
Mise en place d'un jeton d'accès concurrentiels sur l'entité Tache
, et affectation de sa valeur par le code.
Mise en place d'une architecture à base de ServiceResult, et création du projet de tests unitaires correspondant.