All apps

§ App / Field Operations

Build a field operations map for energy with React and unmap

How the unmap Field Operations app is put together: work orders and crews, a simulated task lifecycle, routes that say when they end short of a site, and, with the add-ons, Alberta energy layers, well search and legal land.

Field Operations is a map for a Canadian energy operator's field work. Filter work orders by category and status, read them under their crew, step a task through its lifecycle, route from the base to a site, and switch context layers on and off. With the add-ons switched on it adds the real Alberta energy layers, well search by UWI or licence, click-to-identify and legal land. It runs at apps.unmap.dev/field-operations with both add-ons on, and its source is a standalone Next.js project you can clone and run with your own key.

The operation is synthetic and the app says so: the base, the crews, the ten sites around Drayton Valley, Alberta and their work orders are made up, no site is a real well, pipeline or facility, and the lifecycle is simulated. The map, the routes and the context layers are live unmap, and so, with the add-ons, are the energy layers and legal land. Those come from the gateway and are never copied into the repository.

What it does

  • Work orders and crews: search by ID or title, filter by category and status, and read them under their crew, high priority first.
  • A simulated lifecycle: scheduled, dispatched, on site, complete, one step at a time, each step logged and labelled simulated.
  • Routes that admit where they end: the road route from the base to a site, by car. A lease road or a pad is often not in the road graph, so when the route ends at the nearest road instead of the site, the API's ENDPOINT_RELOCATED warning is shown beside it with the distance.
  • Context layers: Aboriginal lands, municipal boundaries and protected areas, each switchable.
  • With the Energy add-on: Alberta wells, pipelines, facilities and Crown tenure, well search by UWI or licence, and click-to-identify. Only the energy layers the catalog records as cleared for redistribution are shown.
  • With the Legal Land add-on (Energy includes it): legal land search and the Dominion Land Survey grid.

Add-ons by setting

One setting, NEXT_PUBLIC_UNMAP_ADDONS, says which add-ons the deployment's key has. Left empty, the app runs in sample mode: work orders, routes and the free layers work, and each add-on feature says which add-on it needs and calls nothing. Set it to energy, legal-land or both when your key has the add-on. The public app runs with both, so every add-on feature is live there.

Built from the registry, unmodified

The map, the layer legends, the well and legal land search, the identify popup, the route line and the markers are registry items copied in unmodified. Installing the same pieces into your project is one command:

npx @unmap/cli add map layer-legend energy-popup well-search legal-land-search route-line marker-popup map-controls

What it does not do

  • Real operations. No customer, industrial or operational data, and no real crew is dispatched or notified.
  • Compliance. It makes no operational, regulatory or safety claim.
  • Every road. Winter, resource and private lease roads are not routable, so the last stretch to a site may not be on the route.

Run it yourself

You need Git, Node.js 24, pnpm and a browser key from the dashboard that allows http://localhost:3206.

git clone --depth 1 https://github.com/unmap-dev/field-operations.git
cd field-operations
pnpm install --frozen-lockfile
cp .env.example .env.local

Set NEXT_PUBLIC_UNMAP_KEY in .env.local to your key, and NEXT_PUBLIC_UNMAP_ADDONS if your key has an add-on, run pnpm dev, and open localhost:3206. The operation ships in data/work-orders.sample.json; parseOperation() in lib/work-orders.ts checks a file of your own. The energy overlays page covers the layers, and the energy map example covers composing them.