Software-in-the-Loop Maritime Telecommunications, Mesh Routing & Physical Ether Simulator
An integrated platform designed to simulate and evaluate low-frequency LoRa radio ad-hoc networks in maritime environments. Features realistic physical radio propagation, pure binary payload compression, dynamic multi-hop routing topologies, and real-time fleet command visualization.
This repository represents the main branch, housing the monorepo for the core backend services and the harbor master web monitoring dashboard:
| Component | Path | Technology Stack | Default Port |
|---|---|---|---|
| Backend Core & Ether | backend/ |
Go 1.22 · Gorilla WebSocket · PostgreSQL 16 · Redis 7 | :8080 |
| Harbor Master Web Dashboard | frontend/ |
Next.js 16 · React 19 · TypeScript · Tailwind CSS · Leaflet Maps | :3000 |
The companion maritime vessel node application (Flutter, featuring offline Store-and-Forward SQLite & raw binary codecs) is maintained on a dedicated branch: mobile (architecturally aligned with the sespimma multi-tier structure).
maritime-simulation/
├── backend/ # [Tier 1] Go 1.22 Core Service & Physical Ether Simulator
│ ├── cmd/ # Gateway server entrypoint & fleet simulator harness (nodesim)
│ ├── internal/ # Clean Architecture (Domain, Service, Repository, Protocol, WS)
│ ├── migrations/ # PostgreSQL database migrations (Sessions, Edges, Schemas, Telemetry)
│ └── Dockerfile # Minimal multi-stage production Go binary build
├── frontend/ # [Tier 2] Next.js 16 Web Dashboard (Harbor Master Monitor)
│ ├── src/ # Modular Clean Component Architecture (Leaflet Maps, WS Monitor)
│ ├── public/ # Static assets & maritime navigation icons
│ └── Dockerfile # Production standalone Next.js container
├── docker-compose.yml # Master orchestrator (Postgres 16, Redis 7, Backend, Frontend)
├── LICENSE # Official MIT License
├── SECURITY.md # ISO 27001 Vulnerability Disclosure Policy
└── README.md # System master architecture documentation
- Physical Propagation Modeling: Real-time payload size constraints based on Spreading Factor (SF7=222B down to SF12=51B) with dynamic ACK timeout curves.
- Dynamic Mesh Topology: BFS-based shortest multi-hop route computation (up to 5 hops) evaluated across GPS Haversine distance matrices.
- Probabilistic Packet Loss: Radio degradation curves factoring distance tiers and dynamic maritime storm weather anomalies.
- WebSocket Gateway: Dual isolated channel architecture — high-throughput node communications and read-only telemetry broadcast for command dashboards.
- Zero Goroutine Leak: Worker-pool architecture fortified with panic-recovery middleware.
- Real-Time Geospatial Visualization: Interactive Leaflet maritime chart displaying live multi-hop LoRa propagation links, radio parameters, and vessel coordinates.
- Session & Virtual Edge Management: Runtime simulation parameter tuning, dynamic weather anomaly injection, and coastal gateway management.
- Telemetry Audit Logging: Raw binary frame inspection, delivery ratio tracking, and historical latency graphs.
- Isolated Branch: Maintained on
mobile. - Key Features: LoRa data link state machine with 3x retry limit, exponential backoff (1s→30s), SQLite Store-and-Forward disruption-tolerant queue, and schema-driven dynamic binary serialization.
Run the entire server-side ecosystem (PostgreSQL 16, Redis 7, Go Backend, and Next.js Dashboard) with a single command:
# Clone the repository
git clone git@github.com:dafayape/maritime-simulation.git
cd maritime-simulation
# Start the full stack
docker compose up -d --build- Web Dashboard:
http://localhost:3000 - Backend API & WebSocket:
http://localhost:8080 - Fleet Simulator (Optional):
cd backend go run ./cmd/nodesim -nodes 20 -interval 5s
# 1. Backend Go Tests (Race detector & test coverage)
cd backend && go test -v -race ./...
# 2. Frontend Next.js Lint & Tests
cd frontend && npm run lint && npm test
# 3. Mobile Flutter Tests (Switch to mobile branch)
git checkout mobile && flutter test| Standard | Scope | Implementation Details |
|---|---|---|
| ISO/IEC 25010:2023 (Software Product Quality) |
Suitability & Efficiency | Strict protocol validation, 100% test coverage across data link state machines, compact binary payloads, and sub-millisecond route calculations. |
| ISO/IEC 27001:2022 (Information Security) |
Integrity & Governance | All commits cryptographically signed via Ed25519 GPG Key (7573912AF4141E99), zero hardcoded secrets guarantee, and structured disclosure in SECURITY.md. |
| ISO/IEC 12207:2017 (Software Life Cycle) |
Process Governance | Clean Architecture separation, automated unit/integration quality gates, and 100% Conventional Commits v1.0.0 history. |
Distributed under the MIT License. See LICENSE for details.
Daffa Jaya Perkasa
Full-Stack | Mobile | AI | DevOps Engineer