This project is an interactive excursion planning tool that uses a "Tinder-style" swipe approach to select locations of interest. The route is dynamically calculated based on user selections, factoring in route length and efficiency. The application is designed to provide a seamless and engaging way to explore predefined locations or custom maps.
-
Swipe-to-Choose:
Users can swipe through a set of location cards to select their preferred stops for the excursion. -
Dynamic Route Calculation:
The application calculates the most efficient route between the selected locations, optimizing the total travel distance. -
Predefined Map Data:
Includes a set of sample coordinates for location cards available in JSON format:
Map Coordinates JSON -
Custom Maps:
Users can upload their own map data in JSON format and define custom names for their uploaded maps:
Upload Custom Map -
Map Icons:
Displays various points of interest on the map with visually distinct icons. Sample icons can be explored on Yandex Maps.
- Frontend: Vue.js with swipe components for a Tinder-like interface and calculating routes.
- Backend: php for store new points JSON from yandex map constructor.
- Routing Algorithm: Haversine formula for distance calculations.
-
Load Map Data:
- By default, the app uses a predefined JSON file with sample coordinates.
- Users can upload their custom JSON map data.
-
Swipe to Select Locations:
- Swipe cards to choose which locations you want to include in the excursion.
-
Calculate Route:
- After finalizing the selection, the app calculates the shortest route based on the chosen locations.
- The route length and estimated travel time are displayed to the user.
-
Redirect to Visualize Route:
- The map dynamically updates to highlight the chosen route and stops.
[
]
-
Clone Repository:
git clone [email protected]:goshva/TinderRouteCraft.git cd TinderRouteCraft
-
Install Dependencies: Run Live server VS code Extention
- Go to the Upload Custom Map.
- Pste URL from public link to yamap (not for constructor) and assign a unique name for your map points data json.
- If link is public you get url for you points? and can use it in frontend application
- Add upoloading image for points and show nearest one in card
- User profile and saved routes functionality.
- Integration with popular navigation apps for real-time directions.
- Multi-language support for global usability.
Feel free to contribute to the project by submitting issues or pull requests on the GitHub repository.
This project is licensed under the MIT License. See the LICENSE
file for details.