Start doc

This commit is contained in:
Cerbu Andrei Mihnea
2023-05-11 01:43:30 +03:00
committed by GitHub
parent c4130a8716
commit 42246a20f5
9 changed files with 423 additions and 0 deletions
+113
View File
@@ -0,0 +1,113 @@
<!DOCTYPE html>
<html>
<head>
<title>Delivery Planner</title>
<link rel="stylesheet" href="index.css">
<link href='https://fonts.googleapis.com/css?family=Roboto' rel='stylesheet'>
</head>
<body>
<div class="margin"></div>
<div class="main-content">
<p class="main-title">DeliveryPlanner</p>
<div class="authors">
<p>Proiect realizat de: </p>
<p>Cerbu Andrei - Mihnea </h3>
<p>Robert - Giorgio Ciubotaru</h3>
</div>
<div class="paragraph">
<p class="header">Cerinta:</p>
<p class="text">
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.
</p>
</div>
<div class="paragraph">
<p class="header">Tehnologii:</p>
<ul class="list">
<li>Server java;</li>
<li>Baza de date mySql;</li>
<li>Interfata server pentru client/admin realizata cu JavaFX;</li>
<li>Fisiere JSON pentru comunicarea pe retea.</li>
</ul>
</div>
<div class="paragraph">
<p class="header">Clasificarea utlizatorilor</p>
<p class="text">
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'.
</p>
<p class="text">
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.
</p>
<p class="text">
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.
</p>
</div>
<div class="paragraph">
<p class="header">Descriere interactiuni</p>
<p class="sub-title">1. Plasare comanda</p>
<div class="title_img_desc">
<img class="wrap_img" src="place_order.png">
<p class="text">
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'.
</p>
</div>
</div>
<div class="paragraph">
<p class="sub-title">2. Modificare baza de date</p>
<div class="title_img_desc">
<p class="text">
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.
</p>
<img class="database_img" src="database.png">
<p class="text">
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.
</p>
<p class="text">
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.
</p>
</div>
</div>
<div class="paragraph">
<p class="sub-title">3. Generare rute pentru livrarea produselor</p>
<div class="title_img_desc">
<img class="routes_img" src="generate_route.png">
<p class="text">
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.
</p>
</div>
</div>
</div>
<div class="margin"></div>
</body>
</html>