Application Flutter complète de e-commerce gaming avec SQLite pour le stockage local.
- Authentification : Connexion et inscription avec hashage de mot de passe
- Catalogue produits : 90 produits pré-remplis dans 9 catégories avec images
- Recherche : Recherche en temps réel par nom ou catégorie
- Catégories : Claviers, Souris, Casques, Manettes, GPU, CPU, RAM, SSD, Cartes Mères
- Panier : Ajout, modification et suppression de produits avec badge de compteur
- Commandes : Passage de commande et historique complet
- Profil : Gestion du profil utilisateur (nom, email, mot de passe)
- Navigation : Menu drawer avec accès au profil, panier, commandes et déconnexion
- Prix en MGA : Tous les prix sont affichés en Ariary malgache
- Design moderne : Interface blanche claire avec accents violets
- baseViolet :
#8E6CEF(Actions principales et fond login/register) - baseWhite :
#FFFFFF(Background principal) - baseBlack :
#272727(Textes principaux) - baseYellow :
#FFB632(Logo éclair) - baseGrayLight :
#F4F4F4(Cartes et zones secondaires) - Interface claire : Design moderne avec fond blanc et accents colorés
lib/
├── core/
│ └── app_colors.dart # Système de couleurs centralisé
├── database/
│ └── database_helper.dart # Gestionnaire SQLite
├── models/
│ └── models.dart # Modèles de données
├── screens/
│ ├── login_screen.dart # Connexion (fond violet)
│ ├── register_screen.dart # Inscription (auto-login)
│ ├── home_screen.dart # Accueil avec drawer et badge panier
│ ├── category_screen.dart # Liste par catégorie
│ ├── product_detail_screen.dart # Détails produit
│ ├── cart_screen.dart # Panier avec badge
│ ├── orders_screen.dart # Historique commandes
│ └── profile_screen.dart # Gestion du profil utilisateur
└── main.dart # Point d'entrée
- Flutter SDK >= 3.0.0
- Dart >= 3.0.0
- Android Studio ou VS Code avec extensions Flutter
# Cloner le projet
git clone https://github.com/henintsoaheriniaina/powerup-flutter.git
cd powerup
# Installer les dépendances
flutter pub getdependencies:
sqflite: ^2.3.0 # Base de données SQLite
path: ^1.8.3 # Gestion des chemins
path_provider: ^2.1.1 # Accès au système de fichiers
crypto: ^3.0.3 # Hashage des mots de passeCréer le dossier assets/images/ et y placer les images :
Périphériques Gaming :
c1.jpgàc10.jpg- Clavierss1.jpgàs10.jpg- Sourisca1.jpgàca10.jpg- Casquesm1.jpgàm10.jpg- Manettes
Composants PC :
graph1.jpgàgraph10.jpg- GPUproc1.jpgàproc10.jpg- CPUram1.jpgàram10.jpg- RAMssd1.jpgàssd10.jpg- SSDcm1.jpgàcm10.jpg- Cartes Mères
Note : Les images sont optionnelles. L'app affiche les images si elles existent, sinon elle utilise des icônes Material Design par défaut. Pour un rendu optimal, placez vos propres images de produits dans le dossier assets.
# Mode debug
flutter run
# Mode release
flutter run --release-
Users
idINTEGER PRIMARY KEYnameTEXTemailTEXT UNIQUEpasswordTEXT (SHA-256)
-
Products
idINTEGER PRIMARY KEYnameTEXTpriceREAL (en MGA)categoryTEXTimagePathTEXT
-
Cart
idINTEGER PRIMARY KEYproductIdINTEGERquantityINTEGER
-
Orders
idINTEGER PRIMARY KEYuserIdINTEGERdateTEXT (ISO 8601)totalAmountREALstatusTEXTproductsTEXT (JSON)
La base de données est automatiquement créée et remplie avec 90 produits au premier lancement.
- Inscription/Connexion → Créez un compte (connexion automatique) ou connectez-vous
- Menu Drawer → Accédez au profil, panier (avec badge), commandes et déconnexion
- Accueil → Recherchez ou naviguez par catégorie
- Détails Produit → Ajustez la quantité et ajoutez au panier (badge mis à jour)
- Panier → Modifiez les quantités et validez la commande
- Profil → Modifiez vos informations et changez votre mot de passe
- Commandes → Consultez l'historique via le drawer ou l'icône en haut
Éditez lib/core/app_colors.dart :
static const Color baseViolet = Color(0xFF8E6CEF);Modifiez _insertInitialProducts() dans database_helper.dart :
{'name': 'Nouveau Produit', 'price': 500000.0, 'category': 'GPU', 'imagePath': 'assets/images/new.jpg'}flutter clean
flutter pub get
flutter runVérifiez que pubspec.yaml contient :
flutter:
assets:
- assets/images/Projet d'apprentissage Flutter - Libre d'utilisation
Les contributions sont les bienvenues ! N'hésitez pas à ouvrir une issue ou un pull request.
Powered by Henintsoa Heriniaina (Power) ⚡