Proiectul este o aplicație pentru gestionarea unui restaurant online. Aplicația permite utilizatorilor să se autentifice, să adauge produse în coșul de cumpărături, să plaseze comenzi, să administreze produsele și utilizatorii, să aplice cupoane de reducere, să trimită mesaje către administratori și să vizualizeze catalogul de produse. Tehnologiile folosite includ Java (Spring), MariaDB, Docker, Node.js, Express și Ejs. Aplicația are și o documentație Swagger și este testată cu teste unitare și de integrare.
- Autentificare utilizatori: Sistemul trebuie să permită utilizatorilor să se autentifice în aplicație.
- Adăugare produse în coș: Utilizatorii trebuie să poată adăuga produse în coșul de cumpărături.
- Plasare comenzi: Utilizatorii trebuie să poată plasa comenzi pentru produsele din coș.
- Administrare produse: Administratorii trebuie să poată adăuga, actualiza și șterge produse din sistem.
- Administrare utilizatori: Administratorii trebuie să poată gestiona utilizatorii, inclusiv crearea, actualizarea și ștergerea conturilor.
- Cupoane de reducere: Sistemul trebuie să permită utilizatorilor să aplice cupoane de reducere la comenzi.
- Mesagerie: Utilizatorii trebuie să poată trimite mesaje către administratori.
- Vizualizare produse: Utilizatorii trebuie sa poate naviga prin catalogul de produse.
- Gestionare detalii cont: Utilizatorii trebuie sa poate vedea si actualiza detalii despre contul lor, precum adresa, numele etc.
- Review: Utilizatorii pot sa acorde note restaurantului, in functie de experientele lor.
In aceasta faza, proiectul acopera urmatoarele aspecte:
- Administratori: pot vedea, gestiona, adauga, actualiza si sterge produse
- Utilizatori: pot vedea catalogul de produse si pot adauga produse in cos
- Autentificare: pot sa isi creeze un cont si sa se autentifice in viitor cu el
- Mesagerie: Utilizatorii pot sa trimita mesaje, iar administratorii le pot vedea
- Utilizatorii pot comanda produse si pot vedea comenzile lor anterioare
- java (spring)
- mariadb
- docker
- node
- express
- ejs
- docker
- swagger: http://localhost:8080/swagger-ui/index.html
- website: http://localhost:8282/login
- backend: http://localhost:8080/api
- users
- products
- cartItem (produsele pe care un user le are in cart)
- orders (comenzile utilizatorilor)
- message (mesajul trimis de un utilizator catre admin)
- coupon (un cupon de reducere, asociat unui utilizator)
- teste unitare si de integrare pentru toate endpoints
- structura:
- model + repository + service + controller + dto + exceptions
- 2 layers:
- express, unde luam datele de la server si faceam routing-ul
- html + ejs + tailwind, unde afisam datele utilizatorului
- mariadb, rulata cu docker, volume atasate pentru persistenta datelor