# MOTORBiKE Application web de gestion commerciale pour une entreprise de vente et maintenance de motos, developpee avec CodeIgniter 4. ## Fonctionnalites - **Gestion des ventes / commandes** - creation, modification, suivi et impression de bons de livraison - **Avances** - gestion des acomptes clients avec conversion automatique en commande et alertes d'echeance - **Recouvrement** - suivi des paiements et creances - **Caisse / Sortie caisse** - gestion des encaissements et decaissements avec export Excel/CSV - **Produits** - catalogue avec attributs, categories, marques, images et import depuis Excel - **Stocks** - affectation des produits par magasin/point de vente - **Mecaniciens** - suivi des performances des techniciens - **Utilisateurs & Groupes** - gestion des acces par roles et groupes de permissions - **Magasins** - gestion multi-points de vente - **Statistiques & Rapports** - tableaux de bord, rapports de ventes, de stock et de performances - **Historique** - traçabilite des actions avec export - **Notifications** - alertes en temps reel (echeances, etc.) - **QR Code** - generation de QR codes produits - **Securite** - validation de securite avec historique ## Stack technique - **Framework** : CodeIgniter 4 (PHP 8.2+) - **Base de donnees** : MySQL (via MySQLi) - **Authentification** : JWT (`firebase/php-jwt`) - **Export** : PhpSpreadsheet (`phpoffice/phpspreadsheet`) - **Tests** : PHPUnit 9 ## Prerequis - PHP >= 8.2 avec les extensions : `curl`, `intl`, `json`, `mbstring`, `mysqli` - MySQL >= 5.7 / MariaDB - Composer ## Installation ```bash # Cloner le depot git clone motorbike cd motorbike # Installer les dependances composer install # Configurer l'environnement cp .env.example .env # Editer .env avec vos parametres de base de donnees et URL # Executer les migrations php spark migrate # Lancer le serveur de developpement php spark serve ``` ## Configuration (.env) ```ini CI_ENVIRONMENT = development app.baseURL = 'http://localhost:8080/' database.default.hostname = localhost database.default.database = motorbike database.default.username = database.default.password = database.default.DBDriver = MySQLi database.default.port = 3306 ``` ## Structure du projet ``` app/ Config/ - Configuration (routes, filtres, base de donnees...) Controllers/ - Controleurs de l'application Database/ - Migrations et seeds Filters/ - Filtres d'authentification (auth, loggedIn, publicCheck) Models/ - Modeles de donnees Views/ - Templates (dashboard, commandes, produits, rapports...) public/ assets/ - CSS, JS, images ``` ## Routes principales | Chemin | Description | |--------|-------------| | `/` | Tableau de bord | | `/login` | Authentification | | `/orders` | Commandes / Ventes | | `/avances` | Gestion des avances | | `/products` | Catalogue produits | | `/stores` | Magasins | | `/recouvrement` | Recouvrement | | `/sortieCaisse` | Sortie de caisse | | `/reports` | Rapports | | `/statistic` | Statistiques | | `/users` | Utilisateurs | | `/groups` | Groupes / Roles | | `/brands` | Marques | | `/category` | Categories | | `/mecanicien` | Mecaniciens | | `/historique` | Historique | ## Tests ```bash composer test # ou php spark test ``` ## Licence MIT