How rk936503/aegis-api works
Aegis API is a microservices backend whose main request path runs through a gateway for authentication, rate limiting, and downstream routing. Auth handles account and token lifecycle; user and order services handle their own domain operations and persistence. The README documents these capabilities, while the sampled source directly confirms gateway dispatch, token checks, and user/order persistence. Some unsampled wiring is therefore shown only where the README or tree supports it.
Main entry points: src/app.js Gateway app · circuitBreaker.js Circuit breakers · authRoutes.js Auth proxy · auth-service/app.js Auth service
Components 21
API gateway
- Gateway app
api-gateway/src/app.js - JWT validation
api-gateway/src/middleware/auth.js - Rate limiter
api-gateway/src/middleware/rateLimiter.js - Auth proxy
api-gateway/src/routes/authRoutes.js - Service handlers
api-gateway/src/routes/proxyRoutes.js - Circuit breakers
api-gateway/src/utils/circuitBreaker.js - Service addresses
api-gateway/src/config/services.js
Identity
- Auth service
auth-service/app.js
Domain services
- User service
user-service/app.js - Profile operations
user-service/routes/userRoutes.js - Order service
order-service/app.js - Order lifecycle
order-service/routes/orderRoutes.js
Persistence
- Auth database
auth-service/prisma/schema.prisma - User database
user-service/prisma/schema.prisma - Order database
order-service/prisma/schema.prisma - Redis
Observability
- Metrics middleware
api-gateway/src/middleware/metrics.js - Metrics registry
api-gateway/src/utils/metrics.js - Prometheus
- Grafana
Other components
- API client
Connections 24
- API client → Gateway app: sends requests
- Gateway app → Metrics middleware: records requests
- Metrics middleware → Metrics registry: updates metrics
- Gateway app → Rate limiter: limits requests
- Gateway app → Auth proxy: dispatches auth
- Auth proxy → Service addresses: reads address
- Auth proxy → Auth service: proxies requests
- Gateway app → JWT validation: checks protected routes
- JWT validation → Redis: checks blacklist
- Gateway app → Service handlers: dispatches protected routes
- Service handlers → Circuit breakers: creates handlers
- Circuit breakers → Service addresses: reads addresses
- Circuit breakers → User service: forwards requests
- Circuit breakers → Order service: forwards requests
- Auth service → Auth database: reads and writes users
- Auth service → Redis: blacklists tokens
- User service → Profile operations: dispatches routes
- Profile operations → User database: reads and writes profiles
- Order service → Order lifecycle: dispatches routes
- Order lifecycle → Order database: reads and writes orders
- Rate limiter → Redis: stores windows
- Gateway app → Metrics registry: serves metrics
- Prometheus → Gateway app: scrapes metrics
- Grafana → Prometheus: visualizes metrics