Le projet fil rouge sur lequel nous allons travailler est une application de gestion de projets pour les développeurs et les équipes Ops. Cette application a pour but de simplifier la création et la gestion de projets de code en fournissant un formulaire multi-sections qui génère des templates de projets en fonction des réponses. La spécificité de cette application est qu'elle utilise deux bases de données NoSQL différentes pour différentes parties du projet: MongoDB pour stocker la liste des projets et Neo4j pour gérer les questions et options du formulaire ainsi que les systèmes de recommandation.
Les travaux pratiques sont répartis sur 3 séances, chacune d'une durée de 2 heures, précédée d'une heure de cours théorique.
Séance 1 : MongoDB (Partie 1)
User Stories MongoDB pour la Séance 1 :
Inscription d'un nouvel utilisateur
Connexion d'un utilisateur existant
Linkage des projets avec l'utilisateur connecté
Exercices Pratiques MongoDB pour la Séance 1 :
Opérations CRUD en mode 'one' pour gérer les utilisateurs
Authentification et session
Association des projets avec l'utilisateur connecté via un champ userId ou similaire
Séance 2 : MongoDB (Partie 2)
User Stories MongoDB pour la Séance 2 :
Créer un projet lié à un utilisateur (nom, tags, date de création, etc...)
Afficher la liste des projets d'un utilisateur
Afficher les détails d'un projet d'un utilisateur
Afficher les projets d'un utilisateur avec un tag spécifique
Supprimer un ou plusieurs projets d'un utilisateur
Modifier les informations d'un projet d'un utilisateur
Exercices Pratiques MongoDB pour la Séance 2 :
Opérations CRUD en mode 'many'
Indexation pour améliorer les performances des requêtes
Utilisation de l'aggregation pipeline pour des requêtes plus complexes
Séance 3 et 4 : Neo4j
User Stories Neo4j :
Afficher les questions sur formulaire pour chaque section
Afficher les options pour chaque question
Choisir des options et récupérer les questions suivantes conditionnées par les réponses
Afficher les templates recommandés
Effectuer une sélection (créer une entité Projet et des relations SELECTED avec les options choisies)
Suppression de projet
Exercices Pratiques Neo4j :
Opérations CRUD
Systèmes de recommandation basés sur les graphes
Requêtes complexes impliquant plusieurs types de noeuds et relations
Optimisation et Déploiement
Au fur et à mesure des TPs, nous allons également nous concentrer sur l'optimisation des configurations comme l'indexation et les modèles de données. Enfin, nous déployerons les bases de données MongoDB et Neo4j ainsi que l'application Frontend via Docker Compose.
Accès au Code et Outils
Tous les étudiants auront accès à un répertoire GitHub où ils pourront cloner le projet. Le projet inclura un fichier docker-compose pour lancer facilement les bases de données et l'application.
[ ] If admin can get org kpis(more active user, the most used project types, the projects created, the template created, the templates shared, histogram of project types, architectures)
[x] Activity
[x] Login
Templates
[x] List public templates(ingest_templates, list_templates)
Projet Fil Rouge et des Travaux Pratiques
Le projet fil rouge sur lequel nous allons travailler est une application de gestion de projets pour les développeurs et les équipes Ops. Cette application a pour but de simplifier la création et la gestion de projets de code en fournissant un formulaire multi-sections qui génère des templates de projets en fonction des réponses. La spécificité de cette application est qu'elle utilise deux bases de données NoSQL différentes pour différentes parties du projet: MongoDB pour stocker la liste des projets et Neo4j pour gérer les questions et options du formulaire ainsi que les systèmes de recommandation.
Les travaux pratiques sont répartis sur 3 séances, chacune d'une durée de 2 heures, précédée d'une heure de cours théorique.
Séance 1 : MongoDB (Partie 1)
User Stories MongoDB pour la Séance 1 :
Exercices Pratiques MongoDB pour la Séance 1 :
userId
ou similaireSéance 2 : MongoDB (Partie 2)
User Stories MongoDB pour la Séance 2 :
Exercices Pratiques MongoDB pour la Séance 2 :
Séance 3 et 4 : Neo4j
User Stories Neo4j :
Exercices Pratiques Neo4j :
Optimisation et Déploiement
Au fur et à mesure des TPs, nous allons également nous concentrer sur l'optimisation des configurations comme l'indexation et les modèles de données. Enfin, nous déployerons les bases de données MongoDB et Neo4j ainsi que l'application Frontend via Docker Compose.
Accès au Code et Outils
Tous les étudiants auront accès à un répertoire GitHub où ils pourront cloner le projet. Le projet inclura un fichier
docker-compose
pour lancer facilement les bases de données et l'application.