This repository contains the source code for SmartWalk, a web application for keyword-aware route search. Check out the Demo (although not connected to a backend) to get a sense of how the application might look and feel.
The documentation is hosted at https://zhukovdm.github.io/smartwalk-docs/.
Most of the mainstream web mapping applications (Mapy.cz, Google Maps, etc.) implement explicit location-based direction search. A typical workflow involves building a sequence, with the following three steps applied for each waypoint.
- Search for places that might satisfy imposed constraints (e.g., a museum free of charge).
- Append one of them to the sequence, with possible manual reordering.
- New path is presented to the user right after the sequence configuration is altered.
In contrast, SmartWalk enables users to formulate search queries in terms of categories. A category is composed of a keyword (castle, museum, statue, etc.) and attribute filters (has an image, with WiFi, capacity ≥ N, etc.). For a place to be matched by a category, it must satisfy all constraints.
Given a starting point, destination, set of categories, and maximum walking distance, SmartWalk attempts to find routes with a length never longer than the predefined limit that visit at least one place from each category.
Besides routes, the application also supports place and standard location-based direction search.