WSU Vancouver CS Capstone · 2023 – 2025
Industry sponsor: Sagetech Avionics
A micro‑service platform that collects, stores, and brokers ADS‑B flight data in real time.
The system is split into purpose‑built services to keep each concern simple and independently deployable.
| Service | Stack | Purpose |
|---|---|---|
| Broker | Node 20 · Express · WS | Aggregate, process and distribute flight data |
| User | Node 20 · Express | Account / ground‑station registry |
| Auth | Node 20 · Express · JWT | OAuth 2 · JWT issuance & refresh |
| Fuzzy | Node 20 · WS | Detect runway utilisation |
Docs: Each service ships a standalone README with API reference, environment keys, and run scripts.
Broker →
/brokerService/README.md
User →/usersService/README.md
Auth →/oauthService/README.md
Fuzzy →/fuzzyService/README.md
# 1. Clone
git clone https://git.sagetech.com/wsu-captsone/ads-b-restful-data-exchange.git
cd ads-b-restful-data-exchange
# 2. Install dependencies
npm run install-all
# 3. Configure environment
# see docs for each service
# 4. Launch all services (dev mode, hot‑reload)
npm run devRun unit tests for all services:
npm run testLint all JavaScript:
npm run lintThe Broker service acts as an API gateway, forwarding client requests to internal services (User, Auth) and exposing public-facing endpoints for data subscriptions and message routing.
You can view the full OpenAPI specification below:
Each service maintains its own OpenAPI spec. This repository aggregates them:
- Alexander Flores
- Satchel Hamilton
- Joshua Mathwich
- Janna Tanninen
- Joe Barteluce
- Elijah Delavar
- Matthew Lehner
- Joey Pandina
- Nate Shaw
- Justin Sprecco
