Développeur web PHP dans une agence, on vous a confié la réalisation d’une application métier pour un client travaillant dans le bâtiment.
Jusqu’à maintenant, les conducteurs de travaux de ce client utilisent des cahiers, des tableaux blancs et des post-it pour gérer le dérouler des projets de construction et les différentes deadlines pour les étapes du chantier.
Le problème avec ce système, bien que fonctionnel, est qu’il est coûteux, peu sécurisé et demande de la place. Le client souhaite donc développer une application permettant à ses conducteurs de travaux de gérer leurs projets de manière informatisée.
Pour ce faire, vous devez concevoir une application qui permet à l’utilisateur de :
-
Se connecter avec son compte personnel ou de s’inscrire s’il n’a pas de compte.
-
Voir tous les projets de cet utilisateur sur une page.
-
Créer un nouveau projet via un formulaire.
-
Voir le détail d’un projet, c’est-à-dire le projet avec ses tâches quand il clique dessus.
-
Créer des tâches liées à un projet particulier via un formulaire.
-
Supprimer les projets et les tâches comme il le désire.
-
Modifier les projets et les tâches comme il le désire.
-
Indiquer si une tâche est terminée.
-
Distinguer visuellement les tâches finies des tâches en cours.
-
Voir projets et tâches classées par ordre de deadline.
-
Archiver un projet.
-
Voir les projets archivés.
-
Utiliser l’application sur les chantiers via une tablette ou un smartphone.
-
Au survol d’un projet tous les autres projets sauf celui-ci se grisent.
-
L’utilisateur peut choisir de cacher temporairement un projet ou une tâche d’un projet.
-
Framework Symfony 5.
-
L’usage de la commande generate crud est autorisé!.
-
Sécurité de l’application gérée avec le bundle de sécurité Symfony.
-
Idéalement vous générez les données à l’aide de fixtures.
-
JavaScript ES6.
Afin de vous préparer à la certification et au passage devant le jury, vous allez en guise de correction du projet présenter ce dernier et serez questionnez sur son code et sa réalisation.
Durée maximum de la présentation 35min.
Vous présenterez votre projet à l’aide d’un support de type PowerPoint respectant le plan suivant :
-
Présentation du contexte du projet, de l’entreprise, de l’environnement et/ou du besoin.
-
Conception et développement de la partie front-end.
-
Présentation détaillée des éléments les plus significatifs de l’interface de l’application (possibilité de démonstration).
-
Conception et développement de la partie back-end.
-
Présentation détaillée de la fonctionnalité back-end la plus significative.
-
Présentation d’un problème et de la documentation anglophone ayant permis de la résoudre.
-
Conclusion (échecs et réussites/satisfactions).