Skip to content

VicoD3X/map-terminal

Repository files navigation

Map Terminal - live sovereignty map interface

Map Terminal

Local-first EVE Online sovereignty intelligence with a terminal-grade map interface.

Quality Gate TypeScript React Vite Node Local First

Overview

Map Terminal is a local EVE Online map and sovereignty tool built for fast null-sec reading: who owns what, where campaigns are active, what changed recently, and which frontiers deserve attention.

The project is inspired by the clarity of public sovereignty maps, but the product direction is its own: a dense terminal-style operational view, optimized for local use and real-time map work.

Product Highlights

  • Full-screen New Eden cluster map with pan, zoom, region labels, hover readout, and focused region detection.
  • Sovereignty mode with alliance and coalition grouping, owner highlighting, and player / NPC / all filters.
  • Campaign Intel with active and critical alert treatment on the map.
  • Recent SOV Changes backed by a rolling local history journal.
  • Frontier layer that derives alliance or coalition borders from stargate edges and current sovereignty.
  • NAV utility drawer for watchlist, hot intel, frontier quick focus, and tactical system access.
  • Tactical System View combining sovereignty, campaigns, recent changes, topology, ESI jumps, and ESI kills.
  • Terminal-style HUD with settings for startup mode, theme, and UI scale.

Tech Stack

Area Stack
Frontend React, Vite, TypeScript, Canvas
Backend Node.js, Express, TypeScript
Data CCP SDE, public ESI endpoints, local generated history
Testing Node test runner, Vitest
Quality ESLint, TypeScript strict mode, workspace quality gate

Data Sources

  • Cluster geometry: official CCP static data export.
  • Sovereignty: public ESI sovereignty map.
  • Campaigns: public ESI sovereignty campaigns.
  • Activity: public ESI system jumps and system kills.
  • Tactical system detail: public ESI universe system endpoint.
  • Performance probe: public ESI status endpoint.
  • Coalition grouping: manual runtime data in coalitions.json.

Architecture

The app is split into a lightweight backend and a map-first frontend:

More detail lives in ARCHITECTURE.md.

API Surface

Endpoint Purpose
GET /api/map/cluster New Eden graph snapshot
GET /api/services/sovereignty Live sovereignty snapshot
GET /api/services/coalitions Manual coalition runtime data
GET /api/services/campaigns Live campaign snapshot
GET /api/services/sovereignty/changes Rolling local SOV change journal
GET /api/services/systems/:systemId/tactical Tactical system intel
GET /api/performance ESI status and local performance signal

Local Setup

npm install
npm run dev

Windows helper commands:

start-local.cmd
status-local.cmd
stop-local.cmd

Local URLs:

  • Frontend: http://localhost:5173
  • Backend: http://localhost:4000

Quality Gate

Run the full project gate before feature work, commits, or pushes:

npm run check

This runs linting, tests, typechecking, and production builds for both workspaces. The full checklist is documented in QUALITY.md.

Repository Hygiene

Generated and local-only files are intentionally ignored:

  • backend/data/generated/
  • backend/data/sde/
  • backend/data/tokens.json
  • .env
  • build outputs
  • logs
  • node_modules

Manual coalition data is versioned because it is runtime configuration:

Project Docs

Status

Map Terminal is a local development project. The current baseline is published as a clean foundation for future feature work, with the sovereignty service treated as the primary product surface.

Releases

No releases published

Packages

 
 
 

Contributors