62 lines
1.8 KiB
Markdown
62 lines
1.8 KiB
Markdown
# 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.
|