Research document
Initial research document introduces you with interesting research facts about this project.
The travelling salesman problem (TSP) asks the following question: "Given a list of cities and the distances between each pair of cities, what is the shortest possible route that visits each city and returns to the origin city?" It is an NP-hard problem in combinatorial optimization, important in operations research and theoretical computer science. @Wikipedia
Initial research document introduces you with interesting research facts about this project.
Use cases, proposed user interface and Supplementary specification can be found here.
Every application requires a design, you will find here class diagrams and algorithm pseudocode.
System architecture, deployment strategy, continues delivery pipeline, and project review.
How to up and run this application, detailed instruction.
Short video of how to use application.
This application is fully deployed on AWS, it is using a variety of AWS services like EC2, API Gateway, Lambda, AutoScaling groups, CodePipeline, CodeBuild.
Since I started a computer science studies the Graph data structures and algorithms that relate to a Graphs was always inspired me. We see Graphs every day in social media or web browsing. So I decided to create not only theoretical algorithm that solves some Graph problem but rather get the more practical application. This application produces an optimal tour how to travel between several countries. It assembles all my knowledge about system architecture, algorithms, data structure and object orientated design.
It uses a Graph database Neo4J to store, access and search for a route between airports. Neo4J can handle up to hundreds of thousands of nodes and edges between them.
Fully running on top of AWS, scales automatically if the high CPU spikes are detected.
The main algorithm is distributed to Lambda function and it is totally serverless, this allows to reduce a computation load from the main application.