Skip to content

Froodee/ECPflutter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ECP – Emballé c'est pesé

Application mobile et web de backoffice pour la gestion de l'activité ECP, développée en Flutter. Elle communique avec une API REST Spring Boot.

Fonctionnalités

Module Opérations disponibles
Produits Lister, créer, modifier, supprimer
Types de produits Lister, créer, modifier, supprimer
Promotions Lister, créer, modifier, supprimer
Utilisateurs Lister, modifier, supprimer
Commandes Lister, créer, supprimer
Factures Lister, créer, supprimer
Avis Lister, créer, supprimer
Clients Lister
Rendez-vous Lister, créer, mettre à jour le statut, supprimer

Prérequis

  • Flutter SDK >= 3.11.3
  • Dart >= 3.0
  • API Spring Boot démarrée et accessible sur http://localhost:8080

Installation

# Cloner le dépôt
git clone <url-du-repo>
cd ECPflutter

# Installer les dépendances
flutter pub get

# Lancer l'application
flutter run

Configuration

L'URL de l'API est définie dans lib/services/api_service.dart :

static const String baseUrl = 'http://localhost:8080/api';

Modifier cette valeur pour pointer vers un environnement différent (staging, production, etc.).

Architecture

lib/
├── main.dart                  # Point d'entrée, thème Material 3, Provider
├── screens/
│   ├── login_screen.dart      # Écran de connexion
│   ├── home_screen.dart       # Navigation principale (Rail / Drawer)
│   ├── produits_screen.dart
│   ├── type_produits_screen.dart
│   ├── promos_screen.dart
│   ├── utilisateurs_screen.dart
│   ├── commandes_screen.dart
│   ├── factures_screen.dart
│   ├── avis_screen.dart
│   ├── clients_screen.dart
│   └── rendez_vous_screen.dart
└── services/
    ├── api_service.dart       # Appels HTTP vers l'API REST
    └── auth_service.dart      # Gestion de l'authentification (JWT + SharedPreferences)

Gestion d'état

  • Provider + ChangeNotifier pour l'authentification (AuthService)
  • L'état de session (token JWT, rôle, nom) est persisté via SharedPreferences et restauré au démarrage

Navigation

L'interface est responsive :

  • Écran large (> 700 px) : NavigationRail latérale, étendue au-delà de 900 px
  • Écran étroit (mobile) : AppBar + Drawer

Authentification

La connexion envoie un POST /api/auth/login avec email et password. L'API retourne un JWT qui est joint dans l'en-tête Authorization: Bearer <token> de toutes les requêtes suivantes.

Les rôles gérés : ROLE_ADMIN, ROLE_USER.

Dépendances principales

Package Rôle
provider Gestion d'état réactive
http Appels HTTP vers l'API
shared_preferences Persistance locale de la session
cupertino_icons Icônes iOS

Plateformes cibles

  • Android
  • iOS
  • Web
  • Windows

Lancer les tests

flutter test

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors