Designed and developed from scratch

West Marches
Hex Map.

A personal map for recording terrain, discoveries and events in a shared tabletop world.

Open application

Context.

West Marches campaigns use personal, incomplete maps. Players need to locate what they know without turning that uncertainty into a single shared truth.

Player
records terrain, discoveries and events
Game master
keeps control of what each player can know
Implemented scope
accounts, maps, terrain, places and events

Design.

The design moved from user needs to screens, data and behaviour before implementation.

  1. Scopeplayer and game-master personas, prioritised with MoSCoW
  2. Interfacezoning, wireframes and a static mock-up
  3. Systemrelational data models and UML diagrams

Application.

The implemented flow lets a user open a map, describe a hex, add a point of interest and attach events to that place.

West Marches map with a dialog for editing a hex, its points of interest and events

Architecture.

The application is split into three layers that can be built and deployed separately.

wm-uiVue single-page interface
wm-businessSpring Boot REST API, validation and JWT security
wm-dataPostgreSQL schema, constraints and initial data

Controller tests cover validation paths. Jenkins deploys each layer with a separate job.