Build New Course

Context & Conditions

  • Courses have three states:
    • Draft
    • Complete
    • Problem

Draft is used while building up a candidate Course. The Nodes may not have been turned into Places or Attractions yet, and perhaps the route isn't complete either.

Complete means all data is provided, there is a defined set of Attractions (minimum) and Features (optional, but recommended), and the paths are operable.

Problem means the route — whether otherwise complete or draft — has an issue that makes the course unusable. It is flagged for attention.

Data elements

Generally, you'll start out with these general constraints on your route:

  • Destination and Start
  • Distance to be covered
  • Some idea of the neighborhoods you'll want to visit.
  • Day of week and time of day (affects what's open and what's not open)

Often, you'll work backwards from a Destination or forward from a Start and find an appropriate way to meet in the middle. Development is largely from a map of the route. Being able to piece together separate sections from past routes would be a big help.

  • At this time, the best way to represent a Path is from a Track, a single LineString geometry that represents a sequence of Segments between two Locations. This allows the front-end to handle this as a single element (Feature). Yes, the design is driving the Use Case, but this design happens to be driven by the requirement to present to the user a single sequence of points (a Track) between the two Locations.



Sub Use Cases

Some thoughts on breaking this up into smaller chunks

  • Bring in the tracks for a course — and that course only — into the second "Pool" panel.
  • Locations could be selected from a filtered list or from the map.
  • Editing the Locations builds upon an existing app for doing this; navigating to this is the main difference (how to name the lat/lon/node — the geometry)
  • Live review of a complete and open course in the Leader App (able to proceed from end to end without being required to solve the clues.
  • Verification page (To Do List)
    • Each location has images
    • Each location has clues
    • Each location is connected from one end to the other: the path options are complete.

Building a Course

Rubber meets road feedback from building the Tiny Doors manually.


  1. Get the new Nodes and Locations added. For a new course with new destinations, there's a good chance the network will need to be expanded with new nodes and edges.
  2. Turn the new nodes into Locations. Separate Use Case for providing at least a name and ID and preferably a working image as well.


  1. Setup meta data: Name (and an ID)
  2. Choose Location for start (see Loops) and choose add to course
  3. Iteratively:
    1. Choose next location and system offers routes between those locations ranked according to distance (and later other criteria). The choices are presented in a drop down and the selected item from the drop down is highlighted on the map.
    2. Select a route from the dropdown and commit/save. The course to this point is highlighted with added paths in one color and the next to be added in a different color. Most recent location is in a different color as well.
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License