Technology Stack
We chose a stack that prioritizes Type Safety and Reliability.
Core Framework
- AdonisJS 6: A robust Node.js web framework. We chose Adonis over Express/NestJS because it includes everything out of the box (ORM, Auth, Validation, Testing), ensuring a consistent coding style across the team.
- TypeScript: 100% of the codebase is strict-typed.
Database & ORM
- MySQL 8: The primary relational store.
- Lucid ORM: An Active Record ORM similar to Laravel Eloquent.
- Migrations: Database schema is version-controlled via code.
Messaging
- Redis: Used for:
- Session Storage: Fast user session lookups.
- Pub/Sub: Receiving
STRESSEDalerts from the Vision system instantly. - Queues: Handling background jobs (e.g. sending emails).
Real-Time
- Socket.io: Used for bidirectional communication with clients (Live Dashboard updates).