Documentație Proiect: Platformă Hotelieră
1. Descrierea site-ului
Acest site are ca scop gestionarea completă a activităților unui hotel, oferind o interfață modernă atât pentru clienți , cât și pentru personalul administrativ.
Obiective principale:
- Digitalizarea procesului de rezervare (Check-in/Check-out).
- Gestiunea centralizată a disponibilității camerelor în timp real.
- Generarea de rapoarte manageriale, export de date și statistici vizuale.
- Integrarea cu servicii externe (BNR, Google recaptcha).
2. Arhitectura Sistemului
2.1. Roluri
- Administrator: Acces total (CRUD Camere, Utilizatori, Logs, Configurare).
- Staff: Gestionează rezervările și exportă rapoarte.
- Client: Caută camere, efectuează rezervări, vizualizează istoricul propriu.
- Vizitator: Vizualizează paginile publice și se poate înregistra.
2.2. Entități Bază de Date
| Tabel | Rol |
|---|---|
users | Stocare utilizatori, parole (hash) și roluri. |
rooms | Inventarul camerelor, prețuri și imagini. |
bookings | Legătura User-Cameră, date calendaristice. |
messages | Mesajele primite prin formularul de contact. |
activity_logs | Jurnal de audit. |
3. Soluția de Implementare
Arhitectura este de tip MVC simplificat.
Routing-ul este gestionat prin .htaccess, iar logica este separată de prezentare.
Tehnologii Utilizate
- Backend: PHP
- Bază de date: MySQL / MariaDB.
- Frontend: Bootstrap, HTML
- Integrări: Parsare XML BNR, Google reCAPTCHA v2.
- Grafică: Generare dinamică grafice (JpGraph/GD).
- Rapoarte: Export date în format CSV.
Securitate Implementată
- SQL Injection:
- XSS: Escapare output cu
htmlspecialchars. - CSRF: Tokeni unici pe formulare.
- Auth: Parole criptate cu
password_hash(). - Audit: Logs în baza de date.
Structura Proiectului
/project-root
├── /assets (CSS, Imagini, JS)
├── /config (Conexiune DB)
├── /includes (Header, Footer, Funcții ajutătoare)
├── /pages (Fișierele de vizualizare - View)
│ ├── /admin (Panou administrare)
│ └── ... (Pagini publice: index, contact, camere)
├── /scripts (Logica de procesare - Controller)
└── index.php (Router principal)