Technologies : ASP .NET MVC, MS SQL, Entity Framework, Bootstrap 3, JQuery, Ninject, Owin, AspNet.Indentity, AutoMapper
Créez une application Web qui prend en charge la fonctionnalité donnée :
- Sur la base des entités du domaine, créez des classes qui les décrivent, en respectant les principes SOLID. (DI en option).
- Les classes et méthodes doivent avoir des noms qui reflètent leurs fonctionnalités et doivent être correctement structurées dans l'application (dossiers, espaces de noms).
- Le formatage du code doit être conforme aux conventions du code C#.
- Stockez des informations sur le domaine dans la base de données et utilisez Entity Framework pour y accéder. Utilisez MS SQL (pas Compact) comme SGBD.
- L'architecture de l'application doit suivre le modèle MVC.
- Effectuer une journalisation des événements, c'est-à-dire traiter les informations sur les exceptions et les événements qui se produisent dans le système à l'aide de moyens environnementaux.
- Le code doit contenir des commentaires (toutes les classes de niveau supérieur, les méthodes et constructeurs non triviaux).
- Le niveau d'accès aux données doit être placé dans un projet distinct.
- Mettre en œuvre la différenciation des droits d'accès des utilisateurs du système aux composants de l'application (minimum 3 rôles).
- Tous les champs de saisie doivent avoir une validation des données.
En plus des exigences énoncées ci-dessus, il est plus que souhaitable de s'assurer que les exigences suivantes sont respectées.
- couverture des tests unitaires de logique métier.
- Utilisez la journalisation des événements.
- Gestion des exceptions.
- Une extension indépendante de l'énoncé du problème en termes de fonctionnalités est la bienvenue. Motor Depot Dispatcher crée des Vols, qui sont présentés dans le système sous forme de liste, pour lesquels il est nécessaire de mettre en œuvre la possibilité de trier par : numéro de vol ; date de création du vol ; statut (ouvert, en cours, fermé, annulé).
Le conducteur réalise une Demande de vol, dans laquelle il indique les caractéristiques de la voiture nécessaires au vol. Le répartiteur examine la demande et attribue au vol une voiture qui répond aux exigences et est en bon état. Le conducteur prend note de la fin du vol et de l'état de la voiture. L'administrateur a les mêmes droits que le répartiteur, en plus il peut : enregistrer les chauffeurs et les répartiteurs dans le système ; ajouter/supprimer des voitures, modifier les informations sur les voitures.