🎉 First commit
This commit is contained in:
101
README.md
Normal file
101
README.md
Normal file
@@ -0,0 +1,101 @@
|
||||
# API Logistics
|
||||
|
||||
Application Laravel 12 de test pour comprendre et documenter l'API Logistics (Flex/ESI Gescom). Elle fournit un dashboard Filament v5 permettant d'interroger les differents endpoints de l'API.
|
||||
|
||||
## Prerequis
|
||||
|
||||
- PHP 8.4+
|
||||
- Composer
|
||||
- Node.js et npm
|
||||
- MySQL
|
||||
- Laravel Herd (recommande)
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
git clone <repo-url>
|
||||
cd api-logistics
|
||||
composer install
|
||||
npm install
|
||||
cp .env.example .env
|
||||
php artisan key:generate
|
||||
```
|
||||
|
||||
## Configuration
|
||||
|
||||
### Base de donnees
|
||||
|
||||
Creer une base de donnees MySQL nommee `api_logistics`, puis configurer le fichier `.env` :
|
||||
|
||||
```
|
||||
DB_CONNECTION=mysql
|
||||
DB_HOST=127.0.0.1
|
||||
DB_PORT=3306
|
||||
DB_DATABASE=api_logistics
|
||||
DB_USERNAME=root
|
||||
DB_PASSWORD=
|
||||
```
|
||||
|
||||
Executer les migrations :
|
||||
|
||||
```bash
|
||||
php artisan migrate
|
||||
```
|
||||
|
||||
### API Logistics
|
||||
|
||||
Configurer la connexion a l'API Logistics dans le fichier `.env` :
|
||||
|
||||
```
|
||||
LOGISTICS_API_BASE_URL=http://tse-10-test.esiweb.pro
|
||||
LOGISTICS_API_KEY=votre-cle-api
|
||||
LOGISTICS_API_FOLDER=esigescom
|
||||
```
|
||||
|
||||
- **LOGISTICS_API_BASE_URL** : URL de base du serveur Logistics
|
||||
- **LOGISTICS_API_KEY** : Cle API transmise via le header `X-API-KEY`
|
||||
- **LOGISTICS_API_FOLDER** : Nom du dossier (en minuscules) utilise dans les routes de l'API
|
||||
|
||||
## Demarrage
|
||||
|
||||
```bash
|
||||
npm run build
|
||||
```
|
||||
|
||||
L'application est disponible via Laravel Herd a l'adresse `http://api-logistics.test`.
|
||||
|
||||
Le dashboard Filament est accessible a l'adresse `http://api-logistics.test/admin`.
|
||||
|
||||
## Structure du dashboard
|
||||
|
||||
Le dashboard Filament propose les pages suivantes :
|
||||
|
||||
- **Tables** : Explorer les tables disponibles dans l'API et visualiser leurs colonnes
|
||||
- **Articles** : Rechercher des articles et verifier le stock
|
||||
- **Documents** : Lister des documents et consulter leurs details
|
||||
- **Journaux** : Rechercher et lister les journaux
|
||||
- **Tiers** : Rechercher des tiers et consulter l'historique des articles
|
||||
|
||||
## Architecture technique
|
||||
|
||||
- `config/logistics.php` : Configuration de l'API Logistics
|
||||
- `app/Services/LogisticsService.php` : Service centralise pour les appels HTTP vers l'API
|
||||
- `app/Filament/Pages/` : Pages Filament du dashboard
|
||||
- `database/migrations/` : Migrations incluant la table `api_request_logs` pour le suivi des requetes
|
||||
|
||||
## Documentation de l'API
|
||||
|
||||
- [Documentation Postman](https://documenter.getpostman.com/view/40440561/2sB2qaj2Pz)
|
||||
- Documentation interne : `documentation/WEB-A-1 (3).md`
|
||||
|
||||
## Tests
|
||||
|
||||
```bash
|
||||
php artisan test --compact
|
||||
```
|
||||
|
||||
## Formatage du code
|
||||
|
||||
```bash
|
||||
vendor/bin/pint
|
||||
```
|
||||
Reference in New Issue
Block a user