Welcome to SmartWalk Docs

This page contains the documentation for SmartWalk, a web application for keyword-aware walking route search.

Check out the Demo (although not connected to a backend) to get a sense of how the application might look and feel.

User's documentation gives an overview of how to use the application and accomplish basic tasks, such as searching for and managing entities.

Programmer's guide brings clarity into the application architecture and code organization. Code documentation for the frontend and backend can be accessed at prg-frontend and prg-backend, respectively.

Administrator's guide provides instructions for preparing a dataset, running the application in development or production mode on a personal computer, and troubleshooting potential issues.

Motivation

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.

  1. Search for places that might satisfy imposed constraints (e.g., a museum free of charge).
  2. Append one of them to the sequence, with possible manual reordering.
  3. 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.

Credits

  • The pictures and diagrams were created with Draw.io drawing software.

  • Map tiles in the user interface are attributed to © OpenStreetMap contributors.