The app provides users with the ability to select a location and destination, utilizing the Dijkstra Algorithm to determine and display the shortest path. This application is built upon OOP, SOLID principles and design patterns. These include the implementation of essential patterns such as abstract factories, singletons, and builders. These design choices have been made to facilitate ease of maintenance.
This project is built and managed using Maven, a popular build automation and dependency management tool for Java projects.
Import the navigatorSchema.sql file to your database.
For example: Import the file to your MySQL workbench
(https://dev.mysql.com/doc/workbench/en/wb-admin-export-import-management.html)
Inside the resources folder add your own db.properties file with the following:
db.url=jdbc:mysql://localhost:3306/databaseName
db.user=YourUserName
db.password=YourPassword
The program will display an error if db.properties file is not setup properly. For example:
Error executing query: SELECT * FROM Locationserror cause: nullException in thread "main" java.lang.NullPointerException: Cannot invoke "java.sql.ResultSet.close()" because "resultSet" is null.
- Relational Database: It efficiently retrieves data from a relational database, employing the MyBatis framework or JDBC API to ensure seamless connectivity.
- Parsers: The app transforms retrieved data into JSON and XML format, streamlining information exchange, with the assistance of the Jackson library.
- Collaborative Development: This application was a collaborative group project, where version control was managed through Github, ensuring organized and effective teamwork.
- Project Management: The project was organized and tracked using Jira, facilitating efficient task management and issue tracking.