Vous avez été sélectionnés pour participer à un projet ambitieux, Gocod, où votre passion pour la technologie et votre expertise en développement vont être mises à l'épreuve. Gocod est une solution dont l’objectif est d’aider les développeurs en général d’être plus productifs dans leurs projets. Cela passe par l’exploitation de bases de connaissances notamment:
- Des templates et structures de projets permettant de démarrer rapidement
- Des base de données d’erreurs riches et exploitables
Ce projet permettra de simuler les défis d'un environnement de travail réel, où vous aurez l'opportunité de travailler sur des bases de données NoSQL et de déployer une application complète sur le Cloud.
En tant qu'équipes de développement, vous reprenez les rênes du projet là où une précédente équipe les a laissées. Votre objectif est de compléter et de déployer une application intégrant deux bases de données NoSQL. Vous devrez notamment travailler pendant 3 sprints sur différentes fonctionnalités.
- Création simple et rapide de projets
- Recommandation de templates selon les réponses à un questionnaire
- Création et partage de templates
- Ajout de templates en préférences
Ce projet sera le fil rouge de nos séances.
La direction de Gocod a mis en place un parcours de formation basé sur différents Workshops. Ces workshops vous permettront d’être tout de suite opérationnels pour implémenter les fonctionnalités.
Le projet va structurer nos séances de travail. Nous aurons 3 sprints d’une semaine chacun à compléter.
Durant chaque journée de cours, nous aurons 2 sessions:
- Session Training: vous effectuerez les workshop de formation mis en place par Gocod.
- Session Coding: vous implémenterez les changements dans l’application.
- Sprint 1 : Project Initiation, Templates, and User Management
- Compléter les fonctions CRUD dans le back-end.
- Implémenter des fonctionnalités basées sur MongoDB.
- Livrables : Code source mis à jour sur GitHub, rapports d'activité.
- Sprint 2 : Dynamic forms and templates recommendations
- Développer des questions de formulaire dynamiques basées sur la base de données Neo4j.
- Intégrer le système de recommendation de templates.
- Livrables : Code source mis à jour sur GitHub, rapports d'activité.
- Sprint 3 : Database and Application deployment
- Configurer une instance Compute Engine pour MongoDB.
- Déployer l'API FastAPI et le front-end sur Cloud Run.
- Livrables : Architecture cloud déployée, documentation technique, démonstration en direct.
Consultez cet exemple de rapport d'activité
Je serai disponible pour vous guider en tant que Lead Developer, en classe pour le travail dirigé et à l'extérieur pour des séances de tutorat limitées. Votre capacité à travailler en équipe et à utiliser des outils collaboratifs comme GitHub sera essentielle pour la réussite de ce projet.
Votre évaluation sera basée sur la qualité technique de votre code, la complétude de vos livrables sachant que le plus important est le déploiement d'une base de données NoSQL.
Notation:
- Note collective : Basée sur la réalisation finale et la qualité du projet de groupe.
- Note individuelle : Deux composantes - une basée sur les devoirs individuels de TP et une autre sur l'assiduité et l'engagement en cours.
Le projet s'étendra sur trois séances de TP, avec une semaine de travail autonome entre chaque session. La première version déployée doit être prête avant la fin de la dernière séance.