Commit Graph

24 Commits

Author SHA1 Message Date
Nabil Derouiche 181f74119a feat(docker): ajout service frontend Flutter Web (Nginx port 3001)
- frontend/Dockerfile : build multi-étapes (Flutter stable → Nginx alpine)
- frontend/nginx.conf : SPA routing, cache assets, gzip
- docker-compose.yml : service frontend sur port 3001
- Accessible via reverse proxy → https://app.rayhan.bolbol.tn

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-20 20:48:40 +01:00
Nabil Derouiche 6128dec157 feat: frontend 100% complet + rapport PFE final DOCX
Module Stock:
- StockMovement model, StockService, StockProvider
- StockScreen : liste avec barre visuelle et filtre alertes
- StockDetailScreen : résumé gradient, historique, ajustement manuel

Flutter Web:
- web/index.html (écran chargement animé, PWA)
- web/manifest.json (nom, icônes, couleurs)

Rapport PFE final:
- Chapitres 5.8→5.11 : Achats, Production, Stock, Web
- Chapitre 6 : Tests et validation (scénario 12 étapes)
- Chapitre 7 : Conclusion et perspectives
- Annexes A/B/C complètes
- generate_report.py mis à jour (frontend terminé)
- Rapport-ERP-Rayhan-Ali-Guennari.docx régénéré (45 Ko)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-20 20:43:35 +01:00
Nabil Derouiche 796d957fc2 feat(frontend): module Stock complet (inventaire, historique, ajustements)
- StockMovement model (IN/OUT, stockAvant/Après, sourceDocument)
- StockService : getHistorique, adjust (entrée/sortie manuelle)
- StockProvider : cache historiques par article
- StockScreen : liste articles avec barre de stock visuelle, filtres alertes
- StockDetailScreen : carte résumé gradient, historique mouvements, ajustement dialog
- Tous les modules Flutter connectés — frontend 100% fonctionnel

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-20 20:41:26 +01:00
Nabil Derouiche acbf3a1600 feat(frontend): module Production complet (BOM, OF, cycle PLANIFIE→LANCE→TERMINE)
- Modèles ProductionOrder, BomLine
- ProductionService : plan, launch, complete, getBom
- ProductionProvider : load, plan, launch, complete + stats rapides
- ProductionScreen : liste avec filtre statut + actions rapides sur carte
- ProductionFormScreen : sélection PF, affichage BOM dynamique, vérif stock
- ProductionDetailScreen : infos, lancement OF, clôture avec qté réalisée
- Cycle complet : MP consommées au lancement, PF entré en stock à la clôture

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-20 20:39:05 +01:00
Nabil Derouiche 0811013abe feat(frontend): module Achats complet (commandes, réception, stock)
- Modèles Fournisseur, PurchaseOrder, PurchaseOrderLine
- FournisseurService + PurchaseOrderService (create, receive)
- AchatsProvider : chargement parallèle commandes + fournisseurs
- AchatsScreen : liste avec badges statut colorés (violet)
- PurchaseOrderFormScreen : lignes dynamiques, calcul HT/TVA/TTC
- PurchaseOrderDetailScreen : détail + bouton Réceptionner
- Réception → entrée stock automatique via backend

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-20 20:35:41 +01:00
Nabil Derouiche c3278327e9 config: switch API base URL to public domain rayhan-erp.bolbol.tn
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-20 20:30:13 +01:00
Nabil Derouiche 78063c4925 feat(frontend): module Ventes complet (commandes, livraison, stock)
- Modèles Client, SalesOrder, SalesOrderLine
- ClientService + SalesOrderService (create, deliver)
- VentesProvider : chargement parallèle commandes + clients
- VentesScreen : liste avec badges statut colorés
- SalesOrderFormScreen : lignes dynamiques, calcul HT/TVA/TTC temps réel
- SalesOrderDetailScreen : détail + bouton livrer + confirmation
- Rapport PFE : section 5.7 module Ventes (cycle, statuts, UI)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-20 20:26:48 +01:00
Nabil Derouiche ed21c3cb80 feat(frontend): module Articles complet (liste, création, modification, suppression)
- Article model (MP/PSF/PF, stock, seuil alerte)
- ArticleService : fetchAll, fetchByType, create, update, delete
- ArticleProvider : filtrage par type + recherche temps réel
- ArticlesScreen : liste, chips filtres, barre recherche, alertes stock
- ArticleFormScreen : formulaire création/édition avec validation
- Rapport PFE : section 5.6 module Articles

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-20 20:23:06 +01:00
Nabil Derouiche 601a7d0373 feat(frontend): dashboard KPI complet avec navigation drawer
- DashboardProvider + DashboardService (GET /api/dashboard)
- Modèle DashboardKpi (Ventes, Achats, Production, Stock)
- DashboardScreen : grilles KpiCard, alertes stock, pull-to-refresh
- KpiCard widget réutilisable (icône, couleur, valeur, sous-titre)
- AppDrawer : navigation complète avec surbrillance route active
- Placeholders pour modules Article/Ventes/Achats/Production/Stock
- Rapport PFE : section 5.5 Dashboard (architecture, KPIs, UI)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-20 20:20:15 +01:00
Nabil Derouiche c1dabb486d feat(frontend): init Flutter project with login screen and JWT auth
- Projet Flutter créé manuellement (pubspec.yaml, structure lib/)
- Écran de connexion complet avec validation, gestion erreurs, spinner
- ApiClient Dio avec intercepteur JWT automatique
- AuthProvider (Provider) + AuthService (shared_preferences)
- Routing GoRouter avec redirection auth/non-auth
- DashboardScreen placeholder
- Rapport PFE : ajout Chapitre 5 Frontend (architecture, JWT, login)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-20 20:15:58 +01:00
Nabil Derouiche 3816f8b8f1 docs: generate professional DOCX with python-docx (no letterhead) 2026-04-19 22:20:43 +01:00
Nabil Derouiche 30f64f01de docs: sync DOCX after cleanup 2026-04-19 22:13:40 +01:00
Nabil Derouiche 5396400faf docs: regenerate DOCX with updated domain and no internal IPs 2026-04-19 21:57:06 +01:00
Nabil Derouiche 088f2b8736 security: remove credentials from docs, centralize CORS, add reverse proxy support 2026-04-19 21:56:08 +01:00
Nabil Derouiche f40888e7ee docs: add full project report (MD + DOCX) and update livrable index 2026-04-19 21:40:46 +01:00
Nabil Derouiche 10b5702e11 feat: add Swagger UI for interactive API documentation 2026-04-19 21:03:20 +01:00
Nabil Derouiche c2092d72d6 docs: add Windows Docker installation guide 2026-04-19 20:35:01 +01:00
Nabil Derouiche d1e3ffe12a fix: permit /error endpoint to show proper error messages 2026-04-19 20:32:25 +01:00
Nabil Derouiche 22944b571d docs: mark API as deployed on port 8090, update SUIVI-PROJET 2026-04-19 20:27:39 +01:00
Nabil Derouiche 467c41cc48 fix: change backend port from 8080 to 8090 (DSM conflict) 2026-04-19 20:25:21 +01:00
Nabil Derouiche 62ac11a177 fix: remove MySQL external port 3307 (conflicts with server) 2026-04-19 20:22:57 +01:00
Nabil Derouiche b33cd12d09 fix: add missing PurchaseOrder import in DashboardController 2026-04-19 20:20:07 +01:00
Nabil Derouiche b53fcf0ab9 feat: initial Spring Boot API - modules Auth, Articles, Tiers, Achats, Ventes, Production, Stock, Dashboard
- Architecture n-tiers : Controller → Service → Repository → Model
- Sécurité JWT complète (Spring Security 6 + JJWT 0.12)
- 6 rôles : PDG, Vente, Achat, Production, Magasinier, RH
- Entités JPA : User, Role, Article, Client, Fournisseur, PurchaseOrder, SalesOrder, DeliveryNote, ProductionOrder, BomLine, StockMovement
- Services métier : StockService, PurchaseOrderService, SalesOrderService, ProductionOrderService
- DataInitializer : création des rôles + admin par défaut au démarrage
- Docker Compose : Spring Boot + MySQL 8

PFE Ali Guennari — SUARL Rayhan
2026-04-19 19:39:31 +01:00
bolbol 07b7b133fe Initial commit 2026-04-19 18:24:55 +00:00