Bilan du projet - Tablify-Developement/Tablify-Web GitHub Wiki

📘 Bilan du projet – Tablify

0. Lien de la vidéo de présentation du projet

📎 La vidéo de présentation finale du projet a été déposée sur notre canal Teams.
(Lien à insérer après l’upload)


1. Bilan de la Web App réalisée

L’équipe est globalement satisfaite du produit final. Toutes les grandes étapes ont été menées à bien :

  • Spécifications des besoins avec le client
  • Conception UI/UX validée
  • Développement backend + frontend
  • Intégration de la communication avec le Raspberry Pi Pico
  • Déploiement et tests en conditions réelles

🎯 Les objectifs définis en début de projet ont été atteints :

  • Réservation en ligne
  • Gestion des utilisateurs et des restaurants
  • Intégration des capteurs IoT
  • Suivi en temps réel des tables

Le client a validé les fonctionnalités principales et s’est montré enthousiaste à l’idée d’exploiter la solution à plus grande échelle.

Bugs résiduels & dette technique

  • Quelques ajustements restent à faire sur la stabilité des communications avec le Raspberry Pi.
  • Des cas de test manquent pour certaines erreurs spécifiques (ex. réseau coupé, timeout).
  • Une documentation API auto-générée pourrait être ajoutée (Swagger).
  • Une interface de suivi pour les techniciens (niveau matériel) pourrait aussi être développée dans une future version.

👉 Toutes les tâches en attente ou bugs sont listés dans les issues du repository GitHub.

Évolutions d’architecture

  • Ajout d’un middleware d’authentification (JWT) pour sécuriser les routes utilisateurs et admin.
  • Refonte de la logique de réservation en services modulaires.
  • Intégration progressive d’un système de logs structurés pour les opérations critiques.

Ces choix ont permis d'améliorer la maintenabilité du backend, faciliter les tests et l’extension de l’application.


2. Points forts du projet

  • Fonctionnalité de partage de table entre inconnus inédite
  • Intégration IoT complète avec le Raspberry Pi Pico
  • Interface intuitive et responsive
  • Déploiement Dockerisé prêt à l’emploi
  • Système de notification email automatisé via SendGrid
  • Collaboration fluide et efficace entre les membres du groupe

Global

Un projet complet, qui combine web, API, électronique, UX, sécurité et déploiement.

Étudiant 1 : Noah

  • A piloté le développement backend (API + logique métier)
  • A intégré SendGrid, JWT, et l’envoi de mails de vérification
  • A géré l’architecture logicielle globale

Étudiant 2 : Emmanuel

  • A conçu et développé le système de Social Dining Matching de A à Z
  • A créé l'algorithme de compatibilité basé sur les intérêts partagés entre utilisateurs
  • A développé l'interface complète de gestion des centres d'intérêts avec catégories et suggestions
  • A implémenté la page /social-matching avec fonctionnalités de recherche et filtrage
  • A géré l'intégration technique entre le système de matching et l'architecture existante
  • A résolu les conflits de merge complexe et assuré la stabilité du système après intégration

Étudiant 3

(à compléter)

Étudiant 4

(à compléter)


3. Bilan de la collaboration

Organisation du groupe

  • Réunions régulières hebdomadaires
  • Suivi via GitHub Projects
  • Bon équilibre entre autonomie et collaboration

Utilisation de Git

  • Branches claires par fonctionnalité
  • Pull requests documentées
  • Merges validés en groupe

Utilisation du gestionnaire de tâches

  • Tâches suivies dans GitHub Projects
  • Avancement visualisé par Sprint
  • Rétrospective à chaque fin de sprint

Temps consacré au projet

Type de tâche Étudiant 1 Étudiant 2 Étudiant 3 Étudiant 4
Formation xxh
Analyse US xxh
Réunion xxh
Backend xxh
Backend DB xxh
Backend API xxh
Frontend xxh
Rédaction wiki xxh
... ...
Total xxxh xxxh xxxh xxxh

Analyse réflexive

  • La charge a été bien répartie entre les membres
  • Le temps investi a été conséquent mais justifié par la complexité du projet
  • Une meilleure préparation des tests finaux aurait permis de corriger certains détails plus tôt

Bilans individuels

📌 Chaque étudiant a rempli un formulaire individuel qui servira de rapport personnel pour l’évaluation finale.