Arhitectura Aplicației

Biblioteca Online pentru Angajați Companii

Descriere Generală

Biblioteca Online este o aplicație web destinată companiilor pentru gestionarea unei biblioteci digitale accesibile angajaților. Sistemul permite închirierea de cărți (fizice, ebook, audiobook), gestionarea utilizatorilor pe roluri, tracking-ul activității și generarea de rapoarte detaliate.

Roluri și Permisiuni

Administrator
  • Gestionare companii
  • Răspuns la mesaje contact
  • Nu poate trimite mesaje contact
Manager Companie
  • Vizualizare activitate angajați companie
  • Statistici și rapoarte companie
  • Închiriere cărți (ca angajat)
  • Recenzii și favorite
  • Trimite mesaje contact
Angajat (User)
  • Căutare și filtrare cărți
  • Închiriere și returnare cărți
  • Scrie recenzii cu rating
  • Gestionare listă favorite
  • Istoric închirieri personale
  • Trimite mesaje contact

Entități Principale

Entități Utilizatori
  • tip_utilizator - Roluri (admin, manager, angajat)
  • companie - Date companii
  • utilizator - Conturi utilizatori cu autentificare
Entități Bibliotecă
  • carte - Informații cărți (ISBN, descriere, stoc)
  • autor - Autori cărți
  • domeniu - Categorii/genuri cărți
Entități Operaționale
  • inchiriere - Închirieri cărți
  • recenzie - Recenzii și rating-uri
  • favorite - Cărți favorite utilizatori
Entități Analytics & Contact
  • sesiune - Tracking sesiuni utilizatori
  • vizitare_pagina - Tracking pagini vizitate
  • contact_mesaj - Mesaje formular contact

Procese Principale

1. Înregistrare și Autentificare
Înregistrare cont nou
Verificare reCAPTCHA
Email cu link activare
Activare cont (stare: activ)
Login: Email + Parolă + reCAPTCHA
Cod 2FA trimis pe email
Verificare cod → Sesiune PHP
Redirect dashboard (după rol)
2. Închiriere Carte
User caută/filtrează carte
Vizualizare detalii carte
Verificare disponibilitate stoc
Creare înregistrare închiriere
Update stoc disponibil (-1)
Email confirmare cu date primire
3. Generare Raport (Manager)
Manager selectează interval date
Aplică filtre
Query date activitate angajați
Download raport

Structura Bazei de Date

Schema Relațională Simplificată

Baza de date conține 14 tabele organizate în 4 categorii:

Gestionare Utilizatori
  • tip_utilizator - 3 roluri (admin, manager, angajat)
  • companie - Date companii (CUI, adresă, contact)
  • utilizator - Conturi cu autentificare
Gestionare Bibliotecă
  • autor - Autori cu biografie
  • domeniu - Categorii/genuri cărți
  • carte - Cărți cu ISBN, stoc, format
  • carte_autor - Many-to-many cărți-autori
  • carte_domeniu - Many-to-many cărți-domenii
Operațiuni
  • inchiriere - Închirieri cu status și date
  • recenzie - Recenzii cu rating 1-5
  • favorite - Wishlist utilizatori
Analytics & Contact
  • sesiune - Tracking sesiuni (IP, user agent)
  • vizitare_pagina - Tracking pagini vizitate
  • contact_mesaj - Mesaje contact cu răspunsuri

Stack Tehnologic

HTML5

CSS3

Bootstrap 5

PHP 8.x

MySQL 8.x

FontAwesome

PHPMailer