Skip to content

Repository files navigation

OpsBoard

OpsBoard is a complete portfolio-grade operations and reliability platform for technology teams. It tracks services, incidents, service health, SLA/SLO targets, MTTR, MTTD, operational logs, postmortems, audit logs, and runtime health.

Tagline: Know what is failing. Understand why. Recover faster.

Problem

Engineering teams need a single operating view for service reliability: what is down, who owns it, how long it has been failing, what changed, and whether recovery practices are improving.

Architecture

OpsBoard is a modular monolith. The API owns domain rules, tenant isolation, authentication, RBAC, auditing, service status rules, and metrics. The React app is a client of the versioned API.

flowchart TD
  Browser --> Web[React Web]
  Web --> API[Fastify API /api/v1]
  API --> PostgreSQL[(PostgreSQL)]
  API --> Redis[(Redis cache)]
  API --> Metrics[Prometheus /metrics]
Loading

Features

  • Authentication with Argon2id, JWT access tokens, refresh token hashes, rotation, and logout revocation.
  • RBAC roles: ADMIN, MANAGER, ENGINEER, VIEWER.
  • Organization-scoped multi-tenancy enforced by authenticated identity.
  • Services with status, environment, criticality, owner team, target availability, and incident history.
  • Incident lifecycle with controlled transitions: OPEN -> ACKNOWLEDGED -> INVESTIGATING -> MITIGATED -> RESOLVED.
  • Timeline events, operational notes, mitigation entries, resolution entries, and postmortems.
  • SLA/SLO-oriented availability, incident counts, active incidents, MTTR, and MTTD calculated from incident data.
  • Health, readiness, Prometheus-compatible metrics, structured Pino logging, request IDs, and OpenTelemetry base.
  • Audit logging for sensitive actions.
  • Dark-first SaaS operations console with responsive layouts and accessible controls.

Tech Stack

  • Backend: Node.js, TypeScript, Fastify, Prisma, PostgreSQL, Redis, Zod, Vitest.
  • Frontend: React, TypeScript, Vite, React Router, TanStack Query, CSS.
  • Infra: Docker, Docker Compose, Nginx, GitHub Actions.
  • Observability: Pino, Prometheus metrics, health/readiness endpoints, OpenTelemetry base.

Getting Started

npm install
npm run prisma:generate
npm run prisma:validate
npm run build

Docker

docker compose up --build

Local URLs:

Demo Credentials

  • Email: admin@opsboard.local
  • Password: demo-password

Main Demo Flow

Login -> Dashboard -> Services -> Checkout API -> Create Incident -> Acknowledge -> Start Investigation -> Add Note -> Mitigate -> Resolve -> Create Postmortem -> Dashboard metrics update.

API

Base path: /api/v1

  • Auth: POST /auth/register, POST /auth/login, POST /auth/refresh, POST /auth/logout, GET /auth/me
  • Services: POST /services, GET /services, GET /services/:id, PATCH /services/:id, DELETE /services/:id
  • Incidents: POST /incidents, GET /incidents, GET /incidents/:id, PATCH /incidents/:id
  • Incident actions: POST /incidents/:id/acknowledge, POST /incidents/:id/status, POST /incidents/:id/events, POST /incidents/:id/resolve
  • Postmortems: POST /incidents/:id/postmortem, GET /incidents/:id/postmortem, PATCH /postmortems/:id
  • Audit: GET /audit/logs
  • System: GET /system/dashboard, GET /system/status

Observability

Every request receives a request ID. Logs are structured and redact authorization, cookies, tokens, and passwords. /metrics exposes HTTP request count, request duration, incident counters, active incident gauge, service status changes, and default process metrics.

Security

See SECURITY.md.

Testing

npm run lint
npm run typecheck
npm test
npm run build

Architecture Decisions

ADRs are stored in docs/adr.

Screenshots

Place final portfolio screenshots in docs/screenshots/ after running the Docker demo.

Roadmap

  • Rich postmortem listing and search.
  • Optional external alert source ingestion.
  • Background availability recalculation worker if data volume justifies it.
  • SSO and SCIM for enterprise identity.

About

Incident management and reliability platform with service health, MTTR, availability, postmortems, observability and multi-tenant architecture.

Topics

Resources

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages