Tema proiect: Activităţile unui hipermarket
Proiect realizat de: Tudor Rares-Alexandru
Grupa: 241
1. Descrierea arhitecturii aplicației
Aplicația web gestionează activitățile unui magazin online care vinde produse de papetărie. Componentele
principale ale aplicației sunt:
Clienții si Produsele.
Rolurile utilizatorilor aplicației
Client
Clientul este utilizatorul principal al aplicației, care accesează magazinul online pentru a vizualiza
produse, a le adăuga în coș și a plasa comenzi.
Acțiuni:
- Înregistrare cont: Creează un cont nou completând numele, emailul și parola.
- Autentificare: Se conectează în contul personal pentru a putea comanda produse.
- Vizualizare produse: Poate vedea toate produsele disponibile, organizate pe categorii și
subcategorii.
- Căutare produse: Poate filtra sau căuta articole după denumire sau categorie.
- Vizualizare detalii produs: Accesează pagina unui produs pentru a vedea descrierea,
stocul și imaginea.
- Adăugare produse în coș: Selectează articole și le adaugă într-un coș de cumpărături
temporar (memorat in sessionStorage).
- Modificare cantitate în coș: Poate șterge, mări sau micșora cantitatea fiecărui produs
adăugat.
- Finalizare comandă (checkout): Introduce adresa de livrare și metoda de plată pentru a
plasa comanda.
- Vizualizare comenzi anterioare: Poate vedea istoricul comenzilor plasate anterior.
- Deconectare: Închide sesiunea activă.
Administrator
Administratorul are rolul de a gestiona catalogul de produse, categoriile și comenzile din magazin.
Are acces la un panou de administrare inaccesibil clienților obișnuiți.
Acțiuni:
- Autentificare: Se conectează în panoul de administrare folosind cont de tip “admin”.
- Vizualizare panou administrare: Accesează interfața de control care afișează produsele,
comenzile și categoriile.
- Adăugare produs nou: Completează formularul cu nume, descriere, preț, stoc și imagine.
Produsul este salvat în baza de date.
- Modificare produs existent: Poate edita detaliile unui produs (preț, descriere, stoc).
- Ștergere produs: Elimină definitiv un produs din catalog.
- Adăugare categorie/subcategorie: Creează noi categorii pentru organizarea produselor.
- Ștergere categorie/subcategorie: Elimină o categorie dacă nu mai conține produse active.
- Vizualizare comenzi: Poate vedea comenzile plasate de clienți, împreună cu statusul
fiecăreia.
- Actualizare status comandă: Poate marca o comandă drept “paid” sau “shipped” după
procesare.
Structura bazei de date
Baza de date conține următoarele tabele, fiecare reprezentănd o entitate principală:
| Tabel |
Descriere |
| UTILIZATOR |
Datele utilizatorilor inregistrati (nume, email, rol). |
| CATEGORIE |
Categoriile principale ale produselor. |
| SUBCATEGORIE |
Subdiviziuni ale categoriilor, legate prin category_id. |
| PRODUS |
Conține informațiile produselor: nume, descriere, stoc, imagine, subcategorie. |
| COMANDA |
Conține comenzile și starea acestora (pending, paid, shipped). |
| PRODUSE_COMANDA |
Conține detaliile fiecărui produs inclus într-o comandă. |
| ADRESA |
Conține adresele salvate ale utilizatorilor. |
Relații între entități
- Un UTILIZATOR poate avea mai multe COMENZI (1:N).
- Un UTILIZATOR poate salva mai multe ADRESE (1:N).
- O COMANDA conține mai multe PRODUSE_COMANDA (1:N).
- O COMANDA trebuie livrată la o anumită ADRESA (N:1).
- Un PRODUS aparține unei SUBCATEGORII (N:1).
- O SUBCATEGORIE aparține unei CATEGORII (N:1).
- Fiecare PRODUSE_COMANDA se referă la un singur PRODUS (N:1).
Tabele care reprezintă aceste entități sunt reprezentate in diagrama conceptuală a
bazei de date din phpMyAdmin:
2. Descrierea soluției de implementare
Fluxurile principale care descrie modul in care utilizatorii si administratorii interactioneaza cu magazinul
online sunt descrise în urmatoarele diagramele UML:
Fluxul utilizatorului (Client)
Următoarea diagramă de activitate ilustrează procesul de cumpărare al unui client si ilustrează parcursul
complet al acestuia, de la accesarea site-ului, autentificare și navigarea prin produse, până la adăugarea
articolelor în coș și finalizarea comenzii.
Fluxul administratorului
Diagrama de mai jos prezintă pașii efectuați de un administrator si prezintă activitățile interne de
gestionare ale magazinului: autentificarea în panoul de control, adăugarea și modificarea produselor,
organizarea categoriilor și actualizarea comenzilor.