+

DeliveryPlanner

+
+

Proiect realizat de:

+

Cerbu Andrei - Mihnea +

Robert - Giorgio Ciubotaru +

+ +
+

Cerinta:

+

+ Sa se realizeze un server de procesare a comenzilor online plasate de clienti. + Acest server va analiza o comanda si va stabili cu ajutorul algoritmului + ‘Multi-Depot-Vehicle-Routing’ traseul cel mai scurt pentru un camion de a + colecta produsele de la un depozit/mai multe depozite si a le livra la client. + +

+
+
+

Tehnologii:

+ +
+
+

Clasificarea utlizatorilor

+

+ Un utilizator va putea accesa resursele din server numai prin intermediul unei aplicatii. + Exista doua tipuri de aplicatii cu diferite functionalitati, aceste tipuri fiind descrise + in detaliu in sectiunea 'Interfata'. +

+

+ Utilizatorul 'User' este cel care se foloseste de aplicatie pentru a plasa comenzi catre server. + Acestuia i se ofera pe interfata intreaga gama de produse disponibila, acesta urmand sa faca o + selectie si sa o trimita la server. +

+

+ Utilizatorul 'Admin' are acces la toate informatiile stocate pe server, incluzand produsele, + depozitele, toate comenzile facute de utilizatori 'User' cat si rutele pentru a onora comenzile. + Acesta are capacitatea de a insera, modifica, extragere si stergere de informatii din server. +

+
+
+

Descriere interactiuni

+

1. Plasare comanda

+
+ + +

+ Utilizatorul se va conecta la server folosind o aplicatie creata pentru a accesa + produsele disponibile si pentru a plasa o comanda. Dupa ce utilizatorul a selectat + produsele, incluzand cantitatea, dorite, aplicatia va prelua informatiile respective + si le va converti intr-un fisier JSON. Acest fisier va fi trimis in retea catre server, + care acesta va stoca fisierul in folder-ul denumit 'Orders'. +

+
+
+
+

2. Modificare baza de date

+
+

+ Aceasta sectiune descrie cazul in care un admin trebuie sa altereze + informatii din baza de date. In primul rand trebuie sa prezentam + structura bazei de date. +

+ +

+ Baza de date este formata din 3 tabele: 'Deposit', 'Product' si 'Prod_In Depo'. Fiecare tabel + va stoca informatii referitoare la un produs, un depozit si produsele dintr-un anumit depozit. + Tabelului 'Prod_In_Depo' ne ajuta sa asignam la un ID_Deposit mai multe ID_Product astfel incat + firma sa poata tine evidenta produselor care se afla intr-un depozit. +

+

+ Utlizatorul 'Admin' poate insera, + modifica sau sterge valori din aceste trei tabele folosindu-se de a doua versiune de aplicatie, dedicata + utilizatorilor din cadrul firmei, care contine functiile necesare pentru a efectua operatiile enuntate. +

+
+
+
+

3. Generare rute pentru livrarea produselor

+
+ + +

+ Pe server este implementat algoritmul pentru determinarea celei mai scurte rute pentru a colecta toate produsele + necesare pentru livrare. Acest algoritm va rula numai cand un utilizator 'Admin' va selecta un fisier/un set comenzi + pentru livrare. Astfel, garantam faptul ca drumul cel mai scurt va fi calculat cu cele mai actuale informatii din + baza de date. +

+
+
+