/Programare-avansata-pe-obiecte

Proiect si teme in Java cu principiile de programare avansata pe obiecte

Primary LanguageJava

Programare avansata pe obiecte

Teme si proiect in Java

Platforma food delivery

1. Definirea sistemului

Acțiuni:

  • Un utlizator își poate face cont pe platformă, se poate loga și deloga.
  • Un utilizator normal poate să facă o comanda de mai multe produse.
  • Un utilizator normal poate să vadă o listă cu localuri. Dacă selectează un local poate vedea lista cu produse.
  • Un utlizator normal poate căuta un produs și poate adăuga sau șterge un produs din comanda curentă.
  • Poate vedea totalul din comanda curentă și o poate trimite.
  • Poate adauga sau sterge un local de la preferințe.
  • Când se trimite o comandă, i se asignează un șofer care să livreze comanda la adresa utilizatorului.
  • Utilizatorul își poate modifica adresa curentă.
  • Produsele dintr-o comanda pot aparține doar aceluiași local.
  • Un local oferă diferite produse culinare: fel principal, desert, băuturi.
  • Un local poate să ofere discounturi pentru anumite produse, să adauge produse sau să șterga produse.
  • Un user își poate viziualiza istoricul comenzilor.
  • Un user poate repeta o comanda din istoricul său.
  • Un manager de local poate să își adauge propriul local pe platformă.

Obiecte:

  • User care conține un ID care i se asignează la „înregistrare” , un email un username și o parolă.
  • Utilizator normal care are o adresă un array de istoric comenzi și un array de preferințe localuri.
  • Utilizator manager de local care are un local și un cod de autorizație pentru local.
  • Manager de useri care permite logarea și înregistrarea userilor.
  • Adresa - câmpurile localitate, număr, județ
  • Adresa validator care validează adresa.
  • Produs apartine unui local
    • Fel principal
    • Băutura
    • Desert
  • Sofer are un nume prenume și un salariu - tansportă o comandă la adresa clinetului.
  • Comanda are un id, un timp estimat de livrare, un sofer și conține un array de produse, corespunzătoare unui singur local.


diagrama

2. Aplicația în Java: