Skip to content

Wsh7Ash/miraj

Miraj

Open research tools for lunar settlement planning, asteroid resources, space education, and mission simulation.

RESEARCH SANDBOX — NOT FLIGHT-QUALIFIED

Miraj is a runnable, safety-bounded reference MVP for space settlement and resources research. It uses fictional or synthetic demo data only and keeps regulated integrations behind documented adapter boundaries.

Architecture

flowchart LR
  Portal[mission-studio] --> API[Node HTTP API]
  API --> Core[packages/core deterministic domain engine]
  Core --> Seed[data/samples synthetic fixtures]
  API --> Contracts[OpenAPI 3.1 + JSON Schemas]
  Core -. future adapter .-> Postgres[(PostgreSQL)]
  Core -. future adapter .-> MinIO[(MinIO)]
Loading

MVP features

  • Conceptual lunar base module library
  • Synthetic lunar site comparison and safe NEO catalog
  • Mission concept and CubeSat science planner
  • Lunar economy simulation and space law lab
  • Astronaut curriculum tracker with Arabic quick-start material

Prerequisites

Tool Version Required for
Node.js 20+ API, tests, static portal
npm bundled with Node script runner
Docker Compose v2+ optional service topology validation
GitHub CLI latest optional publication and roadmap issues

One-command local setup

npm run verify && npm start

Open http://localhost:4175. The local API also serves /openapi.json.

Environment

Copy .env.example if you want to override defaults.

Variable Default Purpose
PORT 4175 Local API and portal port
APP_ENV development Runtime mode label
DATA_MODE synthetic Documents the demo-data boundary

Demo data

Seed data lives in data/samples/seed.json. It is fictional or synthetic and intentionally small enough for tests and code review.

API examples

curl http://localhost:4175/health
curl http://localhost:4175/v1/lunar-sites
Route Purpose
GET /v1/lunar-sites List synthetic lunar sites
GET /v1/station-modules List conceptual station modules
POST /v1/mission-concepts Create conceptual mission
GET /v1/asteroids/demo List safe demo asteroid records
POST /v1/economy-sim/run Run lunar economy toy model
GET /v1/economy-sim/runs/:id Get economy simulation run
GET /v1/curriculum/modules List curriculum modules
POST /v1/reports/export Export mission concept report
GET /v1/audit/events List audit events

Verification

npm run lint
npm run build
npm test
npm run verify

Privacy, safety, and compliance limits

  • No launch-ready engineering, propulsion build instructions, weapons, nuclear hardware, export-controlled data, or spacecraft command capability.
  • Mission concepts are educational and require aerospace engineering, space law, export-control, planetary-protection, and safety review.
  • Resource and economy outputs are simplified simulations, not mining or mission operations instructions.

Read NOT_FOR_PRODUCTION.md, docs/safety-boundaries.md, and docs/security-privacy.md before extending this MVP.

Arabic quick start

Arabic setup notes are in docs/ar/QUICKSTART.md.

Roadmap

  • Add public asteroid dataset adapter with safe filters
  • Build lunar illumination model stub
  • Create Arabic astronaut training glossary
  • Link CubeSat mission concept workflow to Najm
  • Start space law RFC documentation process

Contributing

See CONTRIBUTING.md, CODE_OF_CONDUCT.md, and SECURITY.md.

License

Apache-2.0. See LICENSE.

About

Research sandbox for lunar settlement planning, asteroid resources, and open space education.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages