Application web de gestion des devis et factures pour les entreprises marocaines.
- Spring Boot 3.2 - Framework Java
- Spring Security - Authentification JWT
- Spring Data JPA - Persistance des données
- MySQL - Base de données
- Lombok - Réduction du code boilerplate
- React 18 - Framework UI
- Vite - Build tool
- React Router - Navigation
- Axios - Client HTTP
- Recharts - Graphiques
- React Icons - Icônes
- ✅ Authentification JWT (login/logout)
- ✅ Gestion des clients (CRUD)
- ✅ Catalogue produits avec gestion du stock
- ✅ Création et gestion des devis
- ✅ Conversion devis → factures
- ✅ Gestion des factures et paiements
- ✅ Tableau de bord avec statistiques
- ✅ Profil utilisateur et changement de mot de passe
- ✅ Interface en français avec devise MAD
- Java 17+
- Node.js 18+
- MySQL 8+
- Maven 3.8+
CREATE DATABASE devistral;cd backend
mvn spring-boot:runLe serveur démarre sur http://localhost:8080
cd frontend
npm install
npm run devL'application est accessible sur http://localhost:5173
- Utilisateur:
admin - Mot de passe:
admin123
Devistral/
├── backend/
│ ├── src/main/java/com/devistral/
│ │ ├── config/ # Configuration (Security, CORS)
│ │ ├── controller/ # REST Controllers
│ │ ├── dto/ # Data Transfer Objects
│ │ ├── exception/ # Gestion des erreurs
│ │ ├── model/ # Entités JPA
│ │ ├── repository/ # Repositories JPA
│ │ ├── security/ # JWT & Auth
│ │ └── service/ # Services métier
│ └── src/main/resources/
│ └── application.properties
├── frontend/
│ ├── src/
│ │ ├── api/ # Clients API
│ │ ├── components/ # Composants réutilisables
│ │ ├── pages/ # Pages de l'application
│ │ ├── styles/ # CSS
│ │ └── utils/ # Utilitaires
│ └── vite.config.js
└── README.md
| Méthode | Endpoint | Description |
|---|---|---|
| POST | /api/auth/login |
Connexion |
| POST | /api/auth/register |
Inscription |
| GET | /api/clients |
Liste des clients |
| GET | /api/produits |
Liste des produits |
| GET | /api/devis |
Liste des devis |
| GET | /api/factures |
Liste des factures |
| GET | /api/statistiques |
Statistiques dashboard |
| GET | /api/profile |
Profil utilisateur |
MIT License