Code Challenge

Summary

The two main algorithms are implemented on DistanceCalculator class The project follows a simple MVVM architecture and focuses on creating a basic UI to support its features:

  • Tapping on the city markers open the selection menu
  • You can define a home city
  • After defining a home city, you can see the distance from the current selected city and the home city.
  • You can add a city to the trip
  • After adding some cities to the trip, the user calculate the best possible route (smallest total distance) by pressing the calculate route button.

apk

demo-video

Tests

Due to time constraints, the tests were not added. A valid strategy for this project would focus validating the functionality on the DistanceCalculator and on the CountriesViewModel classes.