Skip to content

Commit d0592cc

Browse files
committed
docs(readme): refresh project status and production usage guide
1 parent 69633ae commit d0592cc

1 file changed

Lines changed: 67 additions & 14 deletions

File tree

README.md

Lines changed: 67 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -4,30 +4,40 @@ Spatiad is an open-source spatial dispatch engine for real-time fleets.
44

55
## What this repository contains
66

7-
- A Rust single-binary engine foundation
8-
- H3-oriented spatial indexing crate scaffold
9-
- HTTP + WebSocket API scaffold for dispatcher/driver flows
10-
- pnpm workspace with SDK, Express integration example, and docs package
7+
- Rust multi-crate backend (dispatch core, API, WS protocol, binary runtime)
8+
- HTTP + WebSocket dispatch API
9+
- H3-oriented geospatial matching foundation
10+
- TypeScript monorepo (SDK, Express plugin, example app)
11+
- Deployment assets (Docker, docker-compose, Kubernetes, systemd)
1112

1213
## Current status
1314

14-
Initial implementation scaffold is in place. The next milestone is wiring the end-to-end dispatch loop:
15+
Production-ready baseline is implemented with:
1516

16-
1. driver location updates
17-
2. nearest candidate lookup
18-
3. offer timeout/radius expansion
19-
4. websocket reconnect replay for pending offers
20-
5. match lock-in and webhook callback
17+
1. End-to-end dispatch lifecycle (offer creation, expiration, re-offer, match lock-in)
18+
2. Job status and job event timeline APIs with cursor pagination
19+
3. Dispatcher and driver token-based authentication
20+
4. Dispatch rate limiting and WS reconnect guard
21+
5. Webhook signing, retry, and failure event recording
22+
6. Readiness and liveness split for orchestration
23+
7. Request ID propagation and access logs
2124

22-
## Quick start (scaffold)
25+
## Quick start
2326

24-
### Rust
27+
### Run API server
2528

2629
```bash
2730
cd rust
2831
cargo run -p spatiad-bin
2932
```
3033

34+
Health check:
35+
36+
```bash
37+
curl http://localhost:3000/health
38+
curl http://localhost:3000/ready
39+
```
40+
3141
### TypeScript workspace
3242

3343
```bash
@@ -36,9 +46,52 @@ pnpm install
3646
pnpm -r build
3747
```
3848

49+
### Run core tests
50+
51+
```bash
52+
# Rust API unit + integration tests
53+
cd rust
54+
cargo test -p spatiad-api
55+
56+
# SDK tests
57+
cd ../typescript
58+
pnpm --filter @spatiad/sdk test
59+
```
60+
61+
## Key runtime configuration
62+
63+
- SPATIAD_BIND_ADDR (default: 0.0.0.0:3000)
64+
- SPATIAD_LOG_LEVEL (default: info)
65+
- SPATIAD_H3_RESOLUTION (default: 8)
66+
- SPATIAD_DRIVER_TOKEN (optional)
67+
- SPATIAD_DISPATCHER_TOKEN (optional)
68+
- SPATIAD_DISPATCH_RATE_LIMIT_PER_MIN (default: 240)
69+
- SPATIAD_WS_RECONNECT_MAX_PER_MIN (default: 30)
70+
- SPATIAD_WEBHOOK_URL (optional)
71+
- SPATIAD_WEBHOOK_SECRET (optional)
72+
- SPATIAD_WEBHOOK_TIMEOUT_MS (default: 3000)
73+
74+
See full matrix in docs/CONFIG.md.
75+
76+
## Deployment options
77+
78+
- Docker: Dockerfile
79+
- Compose: docker-compose.yml
80+
- Kubernetes: k8s/deployment.yaml
81+
- systemd: dist/spatiad.service
82+
83+
Detailed deployment steps are in docs/DEPLOYMENT.md.
84+
3985
## Documentation
4086

41-
High-level architecture and MVP documentation plan:
87+
Primary references:
4288

43-
- docs/IMPLEMENTATION_PLAN.md
89+
- docs/GETTING_STARTED.md
90+
- docs/API_HTTP.md
91+
- docs/WS_PROTOCOL.md
92+
- docs/SECURITY.md
93+
- docs/CONFIG.md
94+
- docs/DEPLOYMENT.md
95+
- docs/OPERATIONS_RUNBOOK.md
96+
- docs/TROUBLESHOOTING.md
4497
- ARCHITECTURE.md

0 commit comments

Comments
 (0)