Skip to content

Navigation Menu

Sign in
Sign up

Architecture

Werkhausen, Malte edited this page Jul 7, 2026 · 1 revision

Architecture

MyShip is organised as an npm-workspaces monorepo.

myship/
├── apps/
│ ├── server/ # Node.js / TypeScript gateway (SignalK, MQTT, REST API, VDR)
│ └── client/ # Angular app — Web, iOS (Capacitor) and Desktop (Electron)
├── docs/ # Design assets, REST API Postman collection, integrations
├── LICENSE # GNU GPL v3
└── package.json # Workspace root

Components

Project Path Stack
Server (gateway) apps/server Node.js, TypeScript, Express, SignalK, MQTT (aedes), TypeORM
Client apps/client Angular 18, Capacitor (iOS), Electron (Desktop)

Server / Gateway

The gateway ingests and normalises vessel data. It speaks SignalK for marine data, brokers messages over MQTT (via the embedded aedes broker), exposes a REST API (Express) and persists data through TypeORM. It also handles the VDR (voyage data recording) responsibilities.

Client

A single Angular 18 codebase targets three platforms:

  • Web — served directly
  • iOS — packaged with Capacitor
  • Desktop — packaged with Electron

Clone this wiki locally

AltStyle によって変換されたページ (->オリジナル) /