Skip to content

elite-dangerous-expedition-planner

Audience: Agent

Purpose

Expedition Planner is a hosted web app for a commander-managed route: an ordered list of systems to visit, progress tracking, and a prominent next-system display for the next jump.

The initial scaffold is intentionally manual and client-only. It does not read journal files, open EDJR, or call community HTTP APIs.

Workspace checkout note

edos/elite-dangerous-expedition-planner/ is a separate Git repository tracked from the parent edos checkout as a submodule. Its GitLab remote is https://gitlab.com/elite-dangerous1/elite-dangerous-expedition-planner.git.

Tech stack

Vite + Solid + TypeScript.

Run / build

cd elite-dangerous-expedition-planner
npm install
npm run dev
npm run build

Integration points

  • Route data is commander-provided and stored in browser localStorage.
  • No @howfe/elite-dangerous-event-types dependency is needed until the app consumes journal/status data.
  • No @howfe/inter-frame-messenger dependency is needed until the app consumes IFM traffic or coordinates with a host window.
  • Third-party HTTP: none initially. If SPANSH, EDSM, or similar data is added, route through the EDOS api-cache pattern per ARCHITECTURE.md.
  • Desktop install: use elite-dangerous-local-journal-reader build-service at https://app.edos.howfe.org; do not add a Tauri host here.

Bootstrap / manifest

No URL bootstrap keys are implemented in the initial scaffold. Production origin is https://edep.howfe.org. /.well-known/edos-integration.json is TODO: Verify once hosted app bootstrap or embed modes are added.

Deployment

  • Image: registry.gitlab.com/elite-dangerous1/elite-dangerous-expedition-planner
  • Production compose: docker-compose.yml
  • CI: .gitlab-ci.yml builds the app, packages the nginx image, and deploys on the default branch when DEPLOY_SSH_HOST and DEPLOY_SSH_PRIVATE_KEY are available.

Visual design

First-party UI follows DESIGN_GUIDANCE.md: orange on near-black tokens, tool-style panels, and bottom-center attribution. Shell buttons: OpenJournalReaderButton / InstallOnDesktopButton (.btn-top-bar-outlined, Journal / Desktop labels) per Global shell action buttons. Current attribution is a short "commander-provided route" note because no external API or asset source is used by the app UI.