# Architecture OrbitalWard is a monorepo with four main areas: - `backend`: FastAPI service exposing REST endpoints and owning database access. - `worker`: Background scheduler and collectors for checks and alert evaluation. - `frontend`: React application for authenticated operations. - `docs`: Product, security, alerting, discovery, and planning documents. ## Backend The backend uses FastAPI, SQLAlchemy, Alembic, Pydantic, PostgreSQL, and JWT authentication. It owns core domain models: users, assets, credentials, monitors, check results, metrics, alert rules, incidents, notification channels, and audit events. ## Worker The worker is a separate Python process. It will poll due monitors, run collectors, write check results and metrics, evaluate alert rules, open or resolve incidents, and enqueue notification delivery. ## Frontend The frontend uses React, TypeScript, Vite, and Tailwind CSS. It starts with protected routes, a login flow, and dashboard/inventory shells. ## Queue and Scheduling Redis is included from the beginning so background work can move from a simple scheduler to a real queue without changing the deployment shape. ## Plugin Direction Plugins will eventually implement connection tests, discovery, collection, and default alert rule suggestions. Initial collectors can be simpler, but they should not block future plugin extraction.