You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

118 lines
3.3 KiB

# 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 <url-du-depot> 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 = <votre_utilisateur>
database.default.password = <votre_mot_de_passe>
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