No description
- PHP 100%
| config | ||
| .env | ||
| .env.example | ||
| docker-compose.yml | ||
| init-db.sql | ||
| README.md | ||
Prenotazioni Barber - Backend Standalone
Backend dockerizzato per Prenotazioni Barber, basato su EasyAppointments con API REST integrate.
📁 Struttura
prenotazioni-be/
├── docker-compose.yml # Configurazione Docker (API + MySQL)
├── .env # Variabili d'ambiente
├── .env.example # Template variabili d'ambiente
├── init-db.sql # Dump SQL per inizializzazione DB
├── config/
│ └── email.php # Configurazione email SMTP
└── README.md
🚀 Avvio rapido
1. Configura le variabili d'ambiente
cp .env.example .env
# Modifica i valori in .env secondo le tue esigenze
2. Avvia i container
docker compose up -d
3. Verifica lo stato
docker compose ps
docker compose logs -f
🔌 API REST
EasyAppointments espone API REST completa al seguente base URL:
http://localhost:8080/index.php/api/v1/
Endpoint principali
| Risorsa | Endpoint | Metodi |
|---|---|---|
| Appuntamenti | /api/v1/appointments |
GET, POST, PUT, DELETE |
| Disponibilità | /api/v1/availabilities |
GET |
| Clienti | /api/v1/customers |
GET, POST, PUT, DELETE |
| Servizi | /api/v1/services |
GET, POST, PUT, DELETE |
| Categorie servizi | /api/v1/categories |
GET, POST, PUT, DELETE |
| Provider | /api/v1/providers |
GET, POST, PUT, DELETE |
| Segretari | /api/v1/secretaries |
GET, POST, PUT, DELETE |
| Admin | /api/v1/admins |
GET, POST, PUT, DELETE |
| Impostazioni | /api/v1/settings |
GET, PUT |
Autenticazione
Le API usano Bearer Token. Per ottenere il token, configuralo dalla sezione Settings dell'admin panel, oppure usa le credenziali HTTP Basic:
# Esempio con Basic Auth
curl -u admin:password http://localhost:8080/index.php/api/v1/appointments
# Esempio con Bearer Token
curl -H "Authorization: Bearer YOUR_API_TOKEN" http://localhost:8080/index.php/api/v1/appointments
Esempio: Ottenere le disponibilità
curl "http://localhost:8080/index.php/api/v1/availabilities?providerId=2&serviceId=1&date=2025-12-02"
🛑 Stop e cleanup
# Ferma i container
docker compose down
# Ferma e rimuovi anche i volumi (⚠️ CANCELLA I DATI)
docker compose down -v
📋 Note
- Il file
init-db.sqlviene eseguito solo al primo avvio (quando il volume MySQL è vuoto) - I dati del DB sono persistiti nel volume Docker
mysql_data - Per aggiornare i dati, elimina il volume e riavvia:
docker compose down -v && docker compose up -d - La porta di default è
8080, modificabile tramiteAPI_PORTnel file.env