Loading repository data…
Loading repository data…
IFRI-Hackaton-L3-2025-2026 / repository
Solution e-commerce complète (B2C & Admin) pour BMI. Comprend une application mobile cliente cross-platform (Flutter) pour l'achat de pièces détachées et une interface web d'administration (React/TS) pour la gestion des stocks, le suivi des commandes et la simulation des paiements.
Plateforme logicielle complète pour la gestion industrielle et le e-commerce — Hackathon AI4BMI 2026
Ce projet a été développé dans le cadre du Hackathon AI4BMI, organisé par l'Institut de Formation et de Recherche en Informatique (IFRI-UAC), sous la supervision de Dr (MC) Ratheil HOUNDJI et Ing Linuse TIKPON. Il répond au défi posé par l'usine Bénin Moto Industry (BMI), située à Glo-Djigbé, qui produit des pièces automobiles et motocyclettes à l'aide d'équipements industriels automatisés (robots KUKA, CNC FANUC, presses SCHULER, convoyeurs Siemens).
La solution développée est une plateforme logicielle modulaire en trois dépôts, combinant :
Le hackathon s'est déroulé du 16 février 2026 au 24 février 2026.
AKAKPO Godwin : [Godwin-AKAKPO]
GUEZODJE Férréol : [ferreol04]
LAWANI Hamzath : [Eden104]
SAGBO Guillaume : [Sg-Guy]
| Membre | Tâches assignées et réalisées | Participation |
|---|---|---|
| AKAKPO Godwin | - Analyse et Conception du Système - Conception et normalisation de la base de données - Développement de l'interface web de gestion des équipements (Module 1 — React) - Développement de l'interface web d'administration BMIShopAdmin (React)- Intégration des interfaces web des modules 1 et 2 au backend - Implémentation de la logique de changement de mot de passe au backend - Déploiement des différents modules sur Render (API, Module 1 et 2) -Rédaction de la documentation technique du projet | 25% |
| GUEZODJE Férréol | - Analyse et Conception du Système - Conception et normalisation de la base de données - Développement du backend : API Laravel (Module 2) -API REST avec les endpoints : Authentification ( Inscription client, Connexion, Déconnexion, Consultation du profil connecté, Réinitialisation du mot de passe par OTP), Gestion des catégories de produits, Gestion des produits, Panier, Commandes, Simulation des Paiements, Gestion des clients, Dashboard E-commerce- Documentation de l'API avec Swagger | 25% |
| LAWANI Hamzath | - Analyse et Conception du Système - Conception et normalisation de la base de données - Développement du backend : API Laravel (Module 1) - API REST avec les endpoints : authentification, gestion des rôles, permissions et accès; gestion des equipements, gestion et signalement des pannes, planification des maitenances; gestion du staff technique; Tableau de bord de gestion . - Documentation de l'API avec Swagger | 25% |
| SAGBO Guillaume | - Analyse et Conception du Système - Conception et normalisation de la base de données - Développement de l'interface de l'application mobile cliente BMIShop (Flutter)- Acceuil - Onboarding - Inscription - Connexion -Catalogue produits, panier, commandes, simulation de paiement, gestion du profil utilisateur, Récupération de compte après oublie de mot de passe - Intégration de l'application mobile au backend -Montage de la vidéo de présentation de la démo | 25% |
Développer une plateforme logicielle complète permettant à BMI de gérer ses équipements industriels de façon proactive et de commercialiser ses produits finis via un canal numérique moderne et automatisé.
| Dépôt | Technologie | URL de déploiement |
|---|---|---|
GL-Hack2026-Groupe_3_Backend | PHP 8.3 — Laravel — MySQL | API Backend Groupe 3 |
GL-Hack2026-Groupe_3-Equipements | TypeScript — React | Application Web du module 1 |
GL-Hack2026-Groupe_3_E-Commerce | Flutter (mobile) + React (admin) | Interface d'administration Application mobile (APK) |
NB : Pour tester les interfaces, utilisez les identifiants d'admin suivants :
- Email :
admin@bmi.bj- Mot de passe :
password_secret
Backend
Langage : PHP 8.3
Framework : Laravel
Authentification: Laravel Sanctum (tokens Bearer)
Base de données : MySQL 8.0
Serveur : Render
Documentation : Swagger / OpenAPI
Module 1 — Gestion des Équipements
Langage : TypeScript
Framework : React -TypeScript - TailwindCSS
Déploiement : Render
Module 2 — E-Commerce
BMIShop : Flutter (Dart) — application mobile
BMIShopAdmin : TypeScript — React — TailwindCSS
Déploiement : Render
Base de données
(GL-Hack2026-Groupe_3_Backend)Le projet est basé sur Laravel, structuré de manière à séparer la logique métier, l'accès aux données et les points d'entrée API.
.
├── app/
│ ├── Http/
│ │ ├── Controllers/ # Logique de traitement des requêtes (Auth, Équipements, Ventes)
│ │ └── Middleware/ # Filtres de sécurité (ex: CheckRole.php)
│ ├── Models/ # Définition des entités (User, Equipment, Order, etc.)
│ └── Providers/ # Enregistrement des services (AppServiceProvider.php)
├── bootstrap/ # Fichiers d'initialisation du framework
├── config/ # Fichiers de configuration (database, auth, etc.)
├── database/
│ ├── factories/ # Générateurs de données de test (UserFactory.php)
│ ├── migrations/ # Schémas de la base de données (17 tables)
│ └── seeders/ # Remplissage initial de la base
├── routes/
│ ├── api.php # Définition des points d'entrée API REST
│ ├── web.php # Routes pour l'interface web
│ └── console.php # Commandes artisan personnalisées
├── storage/ # Logs et fichiers uploadés
├── tests/ # Tests automatisés (Unit & Feature)
├── .env # Variables d'environnement (Configuration DB/API)
├── Dockerfile # Configuration pour le déploiement conteneurisé
└── artisan # Interface en ligne de commande de Laravel
GL-Hack2026-Groupe_3-Equipements)L'application est développée avec React 18 et TypeScript, utilisant Vite comme outil de build et TailwindCSS pour le style
├── src/
│ ├── api/ # (axios.js, auth, breakdown, dashboard, equipment, maintenance, staff)
│ ├── components/ # Composants UI (dashboard, equipment, layout, ui, NavLink.tsx)
│ ├── contexts/ # Gestion d'état global (AuthContext.tsx)
│ ├── hooks/ # Hooks personnalisés (use-mobile.ts)
│ ├── lib/ # Utilitaires (utils.ts)
│ ├── pages/ # Composants de pages (Equipment.tsx, etc.)
│ ├── App.tsx # Configuration du Router et des Providers
│ └── main.tsx # Point d'entrée de l'application
├── public/ # Assets statiques
├── tailwind.config.ts # Configuration du design system
├── bun.lockb # Lockfile Bun
├── package.json # Dépendances et scripts
└── README.md # Documentation du projet
GL-Hack2026-Groupe_3_E-Commerce)Ce dépôt est un monorepo contenant l'application mobile client et l'interface d'administration web.
L'application mobile utilise une architecture structurée pour la gestion du catalogue et des commandes.
BMIShop/
├── lib/
│ ├── data/ # Couche de données (statiques et locales)
│ ├── local_storage/ # Gestion du cache et des préférences
│ ├── models/ # Entités métier (Product, Order, User, Payment)
│ ├── repos/ # Répertoires de médiation des données
│ ├── screens/ # Pages de l'application (Catalogue, Panier, Profil)
│ ├── services/ # Services de communication avec l'API Laravel
│ ├── theme/ # Configuration visuelle et design system
│ ├── widgets/ # Composants UI réutilisables
│ ├── main.dart # Point d'entrée de l'applic