-
Notifications
You must be signed in to change notification settings - Fork 0
Architecture
Werkhausen, Malte edited this page Jul 7, 2026
·
1 revision
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
| Project | Path | Stack |
|---|---|---|
| Server (gateway) | apps/server |
Node.js, TypeScript, Express, SignalK, MQTT (aedes), TypeORM |
| Client | apps/client |
Angular 18, Capacitor (iOS), Electron (Desktop) |
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.
A single Angular 18 codebase targets three platforms:
- Web — served directly
- iOS — packaged with Capacitor
- Desktop — packaged with Electron