📁 Documentation Interactive – MémoConnect

🧭 Résumé du projet

Nom : MémoConnect

But : Application collaborative de révision basée sur des cartes (quiz, apprentissage actif)

Technologies : Angular, Express.js, MongoDB

Fonctionnalités MVP : Authentification, création de cartes, quiz, suivi de sessions, historique

👤 Parcours utilisateur

📦 Modèles de données (Backend)

🧑 Utilisateur
{
      id: string,
      email: string,
      motDePasse: string (hashé),
      nom: string,
      dateCreation: Date
    }
🗂 Carte
{
      id: string,
      question: string,
      reponse: string,
      niveau: number,
      tag: string[],
      auteurId: string
    }
📈 Session
{
      id: string,
      userId: string,
      date: Date,
      cartesRevisées: [carteId],
      réponses: [{carteId, su: boolean}]
    }

🌐 Routes API (Express)

👤 Authentification
  • POST /api/auth/signup – Créer un compte
  • POST /api/auth/login – Se connecter
📄 Cartes
  • GET /api/cartes – Toutes les cartes utilisateur
  • POST /api/cartes – Créer une carte
  • PUT /api/cartes/:id – Modifier
  • DELETE /api/cartes/:id – Supprimer
📊 Sessions
  • POST /api/sessions – Enregistrer une session
  • GET /api/sessions – Voir l’historique

🛣️ Roadmap (Phases de développement)

  1. 📐 Phase 1 – Cadrage et modélisation ✅
  2. 🧱 Phase 2 – Structure Angular + Express
  3. 🔐 Phase 3 – Authentification
  4. 🗃 Phase 4 – CRUD des cartes
  5. 🧠 Phase 5 – Fonction quiz
  6. 📊 Phase 6 – Historique & filtres
  7. 🚀 Phase 7 – Déploiement & finalisation
📌 À venir – Évolution
🏷️ Tags & catégories
Organisation par thème ou matière
UX intuitive, tri visuel
⏳ Révision espacée
Repropose les cartes oubliées dans le temps
Approche pédagogique moderne
🪪 Comptes invités
Réviser sans créer de compte
Accessibilité rapide, idéal pour démo
🎯 Objectifs personnalisés
“Réviser 10 cartes par jour”
Motivation, fidélisation
🧾 Export PDF ou Markdown
Télécharger ses cartes
Utilité concrète hors ligne
🤝 Partage de collections
Envoyer un lien vers un jeu de cartes
Collaboration simple et puissante
📱 PWA (Progressive Web App)
Installation comme app mobile
Expérience pro, usage mobile
🧪 Mode exam
QCM ou réponses masquées
Approche test, plus formelle
🎨 Thèmes personnalisables
Light/dark mode, couleurs par matière
UX agréable, différenciation
Fonction Description Valeur ajoutée
Tags & catégories Organisation par thème ou matière UX intuitive, tri visuel
Révision espacée Repropose les cartes oubliées dans le temps Approche pédagogique moderne
Comptes invités Réviser sans créer de compte Accessibilité rapide, idéal pour démo
Objectifs personnalisés “Réviser 10 cartes par jour” Motivation, fidélisation
Export PDF ou Markdown Télécharger ses cartes Utilité concrète hors ligne
Partage de collections Envoyer un lien vers un jeu de cartes Collaboration simple et puissante
PWA (Progressive Web App) Installation comme app mobile Expérience pro, usage mobile
Mode exam QCM ou réponses masquées Approche test, plus formelle
Thèmes personnalisables Light/dark mode, couleurs par matière UX agréable, différenciation

1. 📚 Fiches d’index rapides

📁 Arborescence des fichiers du projet

📁 Arborescence du projet


      memo-connect/
      │
      ├── client/
      │   ├── .angular/
      │   ├── .vscode/
      │   ├── node_modules/
      │   ├── public/
      │   │   └── favicon.ico
      │   ├── src/
      │   │   └── app/
      │   │       ├── core/
      │   │       │   └── services/
      │   │       │       └── guards/
      │   │       ├── features/
      │   │       │   └── cards/
      │   │       │       ├── cards.module.ts
      │   │       │       ├── components/
      │   │       │       ├── pages/
      │   │       │       └── services/
      │   │       ├── layout/
      │   │       │   ├── footer/
      │   │       │   └── header/
      │   │       ├── shared/
      │   │       ├── app.config.ts
      │   │       ├── app.html
      │   │       ├── app.routes.ts
      │   │       ├── app.scss
      │   │       ├── app.spec.ts
      │   │       ├── app.ts
      │   │       ├── index.html
      │   │       ├── main.ts
      │   │       └── styles.scss
      │   ├── angular.json
      │   ├── package.json
      │   ├── package-lock.json
      │   ├── proxy.conf.json
      │   ├── README.md
      │   ├── tsconfig.app.json
      │   ├── tsconfig.json
      │   └── tsconfig.spec.json
      │
      ├── server/
      │   ├── controllers/
      │   │   ├── cards.controller.js
      │   │   └── users.controller.js
      │   ├── middlewares/
      │   │   └── errorHandlers.js
      │   ├── models/
      │   │   └── cards.model.js
      │   ├── routes/
      │   │   ├── cards.routes.js
      │   │   └── users.routes.js
      │   ├── utils/
      │   │   └── logger.js
      │   ├── node_modules/
      │   ├── package.json
      │   ├── package-lock.json
      │   └── server.js
        
🧠 Liste des fonctions clés

2. 🔎 Composantes Angular

🧩 [Nom de la composante ou fonctionnalité]

Fichiers impliqués :

[ex: main.js]
[ex: interface.js]

Commentaires :

📄 Code

3. ⚙️ Mécaniques fonctionnelles

💾 Chargement / Sauvegarde

Fichiers impliqués :

[ex: storage.js]

Commentaires :

📄 Code
🧪 Validation / Règles métiers

Fichiers impliqués :

[ex: utils.js]

Commentaires :

📄 Code
🌐 Endpoints backend (API Express)

Fichiers impliqués :

[ex: utils.js]

Commentaires :

📄 Code