Premier commit
This commit is contained in:
61
README.md
Normal file
61
README.md
Normal file
@@ -0,0 +1,61 @@
|
||||
# DSIGEST - Gestion de Contrats IT
|
||||
|
||||
Application de gestion de contrats IT pour une communauté d'agglomération.
|
||||
|
||||
## Stack
|
||||
- Backend: Laravel 12, PHP 8.3, MySQL
|
||||
- Frontend: Vue.js 3 + Bootstrap 5 (intégré via Blade)
|
||||
- Auth: Custom (Login/Register avec validation Admin)
|
||||
|
||||
## Installation
|
||||
|
||||
1. Cloner le repo / Extraire les fichiers.
|
||||
2. Installer les dépendances :
|
||||
```bash
|
||||
composer install
|
||||
npm install
|
||||
```
|
||||
3. Configurer `.env` :
|
||||
- Copier `.env.example` vers `.env`.
|
||||
- Configurer la connexion MySQL (`DB_CONNECTION=mysql`, `DB_DATABASE=...`, etc).
|
||||
4. Générer la clé :
|
||||
```bash
|
||||
php artisan key:generate
|
||||
```
|
||||
5. Migrations et Seeders :
|
||||
```bash
|
||||
php artisan migrate --seed
|
||||
```
|
||||
Ceci créera :
|
||||
- Admin: `admin@dsigest.local` / `password`
|
||||
- Manager: `manager@dsigest.local` / `password`
|
||||
|
||||
6. Compiler les assets Frontend :
|
||||
```bash
|
||||
npm run build
|
||||
```
|
||||
Pour le développement :
|
||||
```bash
|
||||
npm run dev
|
||||
```
|
||||
|
||||
## Fonctionnalités
|
||||
|
||||
- **Roles** : Admin, Gestionnaire (Manager), Lecteur.
|
||||
- **Admin Validation** : Les nouveaux inscrits doivent être validés par un Admin (`is_active = true`).
|
||||
- **Contrats** : CRUD complet + Types (Microsoft 365, Fibre, etc).
|
||||
- **Meta-données** : Champs dynamiques clé/valeur pour chaque contrat.
|
||||
- **Documents** : Upload de fichiers attachés aux contrats.
|
||||
- **Audit Logs** : Traçabilité des actions (Création, Modification, Suppression).
|
||||
- **Alertes** : Commande pour vérifier les échéances :
|
||||
```bash
|
||||
php artisan contracts:check-expirations
|
||||
```
|
||||
Ajouter cette commande au CRON du serveur.
|
||||
|
||||
## Structure
|
||||
|
||||
- `app/Models/Contract.php` : Modèle principal.
|
||||
- `app/Http/Controllers/ContractController.php` : Logique CRUD.
|
||||
- `resources/js/components/ContractsTable.vue` : Composant Vue.js tableau avec filtres.
|
||||
- `resources/views/` : Vues Blade utilisant Bootstrap 5.
|
||||
Reference in New Issue
Block a user