Application de bureau Java (Swing) pour la gestion centralisée de boutiques, d'inventaires et d'employés. Ce projet communique avec une base de données MySQL et intègre un système de contrôle d'accès basé sur les rôles (RBAC).
- Authentification sécurisée : Hachage des mots de passe (SHA-256) et inscription restreinte via un système de whitelist.
- Contrôle d'accès (RBAC) :
- Administrateur : Création/suppression de boutiques, gestion des articles, assignation des employés, gestion des utilisateurs et de la whitelist.
- Employé : Accès limité aux boutiques assignées, consultation de l'inventaire et mise à jour des stocks (ajouts/ventes).
- Gestion d'inventaire : Suivi des articles (nom, prix, quantité) avec protection stricte contre les stocks négatifs.
- Java Development Kit (JDK)
- Serveur MySQL (ex: XAMPP ou WAMP)
- Driver JDBC :
mysql-connector-j-9.6.0.jar
- Base de données :
- Lancez votre serveur MySQL local.
- Créez une base de données nommée
boutique_db. - (Optionnel) Adaptez les identifiants dans
src/connexionDB.javasi votre root possède un mot de passe ou si le port diffère de3306.
- Projet :
- Ouvrez le projet dans votre IDE (IntelliJ IDEA est préconfiguré via le dossier
.idea). - Vérifiez que la librairie
mysql-connector-j-9.6.0est bien attachée au projet.
- Ouvrez le projet dans votre IDE (IntelliJ IDEA est préconfiguré via le dossier
- Exécution :
- Lancez la classe
Main.javapour démarrer l'interface d'authentification.
- Lancez la classe
- Vues (
*Gui.java) : Interfaces Swing gérant l'interaction utilisateur (AppGui,StoreGui,UserGui). - Modèles : Entités représentant les données (
User,Store,Inventory,Item). - Services (
Gestion*.java) : Logique métier et exécution des requêtes SQL (GestionUser,GestionStore). - Utilitaires :
connexionDB.java(JDBC) etSecurityUtils.java(Cryptographie).