GeoByte_Delivery_Management_System
A five (5) days Development Assessment from ByteWork
This repository contains the solutions to the five (5) days Assessment, which was addressed in two different ways:
Solution1
This folder contains the first solution, addressed using Swing, JDBC and MySQL Tools as earlier mentioned in the Issues of this repository.
The majour principle used to address the problem is known as Dijkstra Algorithm.
This algorithm was implemented within the Dijkstra class (Dijkstra.java) file to help find the shortest paths in a directed graph of nodes(locations) submitted by the WeightedGraph class (WeightedGraph.java) file as constructed using the WeightedEdge class (WeightedEdge.java) file.
Requirements:
To successfully run this Solution1 Project Folder, the tools listed are needed:
-
MySQL Database Server
-
Eclipse Integrated Development Environment (IDE)
-
MySQL JDBC Connector. (this had been made available in the ex_lib folder within the Solution1)
How To Run The Solution1 Project Folder:
-
Open any of the MySQL query editor available on your PC.
-
Copy and paste the set of SQL queries available inside the geobyte_delivery_management_system.sql file. (the geobyte_delivery_management_system.sql file is also located inside the Solution1 Project Folder.)
-
Run/execute the provided queries to create the needed database called geobyte_delivery_management_system with it respectful tables.
The Entity Relation Diagram (ERD) of the Schema should be like this:
-
Launch the Eclipse IDE
- Import the Solution1 Project Folder into your Eclipse IDE.
From the build paths of your Eclipse IDE, add the provided MySQL JDBC Connector as an external jar file. (to enable the program connect to the MySQL Database Server).
-
From the Connector class(Connector.java inside the src folder) file, change the Username and Password of the MySQL Server Connection to your own MySQL Server Connection credentials.
-
Finally, run the project by clicking on the run button within the IDE.
You should see this:
The project is expected to run successfully, else revisit this execution procedures again.
Note:
-
You're expected to register a new User from the Application at first use.
-
Likewise, minimum of five(5) new locations are to be added for better performance.
-
Following the Assumption rules as provided, a minimum of three deliveries are to be added before generating the Optimum Route.
A simple demo is shown here: GeoByte YouTube Demo