All work

Case study 05 · GIS Integration / Field Operations · 2012 – 2015

Field Sales & Distribution Systems

Two separate projects for two different employers, solving a similar problem: WebGIS and Android sales-management tools (2012–2013), then leading an ASP.NET MVC sales-assistance application with tracking, spatial queries and a mobile API (2014–2015).

Domain
Sales & product distribution
Role
GIS developer, then lead web developer
Type
Two projects, two employers
Stack
ASP.NET MVC · Android · WebGIS

From my work before founding ArtaPattern. Client names and confidential details are left out, and diagrams are conceptual.

01 / Project overview

Putting sales operations on the map

Two separate projects, with different employers, on the same kind of problem: giving distribution companies tools for remote order entry, product distribution, field data collection and tracking. The later sales-assistance application, which I led, brought order management, tracking and spatial queries into one ASP.NET MVC system with a mobile API.

02 / Engineering context

Engineering context

Field staff worked away from the office, so orders and visit data were captured on mobile devices and sent to a central web application. Location was part of the data, which made spatial queries and map views core features rather than extras.

C4 · Context · conceptual
Field staffmobile
Sales-assistance platformorders · distribution · tracking
Managersweb
Conceptual, non-confidential representation.
03 / Problem & constraints

Problem & constraints

  • Order entry and data collection happened in the field, on mobile devices.
  • Distribution and tracking data had to be queried by location.
  • Web and mobile clients had to share one consistent set of orders and records.
04 / Architecture approach

One backend, two kinds of client

The ASP.NET MVC application held orders, distribution and tracking data and offered map views and spatial queries to office users. A separate mobile API layer gave field apps a stable contract for submitting orders, collected data and location.

C4 · Containers · conceptual
Field appAndroid
sales-assistance platform
Mobile APIorders · location
Web applicationASP.NET MVC
Spatial queriesmaps · tracking
Databaseorders · distribution
Office usersbrowser
Dashed: mobile synchronization. Conceptual, non-confidential representation.
05 / Key engineering decisions

Key engineering decisions

DECISION 01

Give mobile clients their own API layer

Field apps used a dedicated API instead of the web application's pages, keeping the mobile contract stable.

DECISION 02

Treat location as core data

Tracking and spatial queries were built into the data model so distribution could be viewed and analyzed on the map.

06 / Implementation & delivery

Implementation & delivery

  1. 01

    Field tools

    WebGIS and Android sales tools.

  2. 02

    Platform

    ASP.NET MVC application.

  3. 03

    Mobile API

    Orders, data, tracking.

  4. 04

    Spatial

    Map views and queries.

07 / Technologies
  • C#
  • ASP.NET MVC
  • Android
  • WebGIS
  • Spatial Queries
  • REST / Mobile API
  • Tracking