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
usersStocare utilizatori, parole (hash) și roluri.
roomsInventarul camerelor, prețuri și imagini.
bookingsLegătura User-Cameră, date calendaristice.
messagesMesajele primite prin formularul de contact.
activity_logsJurnal 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)