Skip to content
SpizhyPublic

About

Enterprise Cloud Incident & SLA Governance SaaS (.NET 8 Clean Architecture, EF Core, React TypeScript, Vite)

Resources

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

OpsPulse — Enterprise Cloud Incident & SLA Governance SaaS

Build Status .NET React TypeScript PostgreSQL Docker License: MIT

OpsPulse is a mission-critical Incident Command & Service Level Agreement (SLA) Governance platform designed for Site Reliability Engineering (SRE), Platform, and DevOps teams. It provides end-to-end incident declaration, real-time responder orchestration, investigation timeline telemetry, MTTR/MTTD analytics, and automated SLA compliance tracking across cloud infrastructure.


Key Features

  • End-to-End Incident Command: Declare, acknowledge, investigate, and resolve production incidents with automated SLA breach detection and severity-based prioritization (P1 Critical through P4 Low).
  • Service Dependency & Health Registry: Monitor component availability (Tier 1 mission-critical, Tier 2 core, Tier 3 internal), calculate 30-day uptime SLAs, and track active blast radiuses.
  • Investigation Timeline Stream: Real-time investigative log enabling responders and commanders to post telemetry updates, diagnostic findings, and mitigation actions.
  • Root Cause Analysis (RCA) & Postmortem: Enforce structured RCA documentation and preventative remediation capture prior to incident closure.
  • Reliability Metrics Engine: Built-in calculation of MTTR (Mean Time to Resolve), MTTD (Mean Time to Detect), and SLA Compliance %.
  • Role-Based Access Control (RBAC): Secure access tiering across Administrator, IncidentCommander, Responder, and Viewer.
  • Advanced Querying: Instant full-text search, multi-criteria filtering (status, severity, service component), sorting, and resilient pagination.
  • Dual Database Engine Support: Out-of-the-box local zero-configuration SQLite for rapid development, and PostgreSQL 16+ for enterprise container production.

Screenshots / UI Previews

+----------------------------------------------------------------------------------------------------+
|  [OpsPulse] ENTERPRISE                                     Alex Mercer (Lead SRE) [Admin] [Sign Out] |
+----------------------------------------------------------------------------------------------------+
|  [Dashboard]          RELIABILITY OVERVIEW & COMMAND                          [+ Declare Incident] |
|  [Incidents]                                                                                       |
|  [Services]           +-------------------+  +-------------------+  +-------------------+          |
|                       | ACTIVE INCIDENTS  |  | SLA COMPLIANCE    |  | MTTR (RESOLVE)    |          |
|                       |        1          |  |      99.2%        |  |     38.4 min      |          |
|                       | ATTENTION NEEDED  |  |     HEALTHY       |  |  SLA TARGET 60m   |          |
|                       +-------------------+  +-------------------+  +-------------------+          |
|                                                                                                    |
|                       MONITORED COMPONENT HEALTH             INCIDENTS & TREND TELEMETRY           |
|                       +-----------------------------------+  +-----------------------------------+ |
|                       | Auth Gateway      | Operational   |  | P1 Critical: 1 [===             ] | |
|                       | Payment Ledger    | Degraded      |  | P2 High:     2 [======          ] | |
|                       | Search Cluster    | Operational   |  | P3 Medium:   3 [=========       ] | |
|                       +-----------------------------------+  +-----------------------------------+ |
+----------------------------------------------------------------------------------------------------+

Tech Stack

Technology Role Justification
C# 12 / .NET 8 Backend Web API High-performance, memory-safe, enterprise-grade runtime with native async/await and dependency injection.
ASP.NET Core Web API REST API Layer Clean routing, middleware pipeline, model binding, and native OpenAPI generation.
Entity Framework Core 8 ORM / Persistence Linq queries, migrations, relationships, eager loading, and dual SQLite/PostgreSQL provider support.
React 18 Frontend Framework Declarative component model, virtual DOM diffing, and fast reactive UI state management.
TypeScript Type Safety End-to-end type parity between backend DTO contracts and frontend models.
Vite Build Tooling Lightning-fast Hot Module Replacement (HMR) and optimized Rollup production bundling.
JWT (HMAC-SHA256) Authentication Stateless authentication with claims-based RBAC and secure refresh token rotation.
BCrypt.Net Password Security Adaptive cryptographic password hashing with configurable salt work factor (11).
FluentValidation Request Validation Strongly-typed business validation pipeline executed before controller invocation.
Serilog Structured Logging JSON and console structured log enrichment for observability and audit trails.
Docker & Compose Containerization Multi-stage builds producing hardened, minimal-footprint production containers.
xUnit & Moq Testing Automated unit testing of domain entity state machines and application services.

Architecture

OpsPulse strictly adheres to Clean Architecture and Domain-Driven Design (DDD):

src/
├── backend/
│   ├── OpsPulse.Core/            # Pure Domain Entities, Enums, and Repository Interfaces
│   ├── OpsPulse.Application/     # CQRS/Services, DTOs, FluentValidation, Business Logic
│   ├── OpsPulse.Infrastructure/  # EF Core DbContext, PostgreSQL/SQLite Repositories, JWT, BCrypt
│   └── OpsPulse.Api/             # Controllers, Global Error Middleware, Swagger OpenAPI, Serilog
└── frontend/
    └── src/
        ├── api/                  # Typed API Client with JWT Bearer Interceptors
        ├── components/           # Reusable UI widgets (Badges, Modals, Tables, Timelines)
        ├── context/              # AuthContext & Session Management
        ├── pages/                # Dashboard, Incident Explorer, Detail Command, Service Catalog
        └── styles/               # Bespoke Dark Theme Design System (CSS Tokens)

For complete technical specifications, see docs/architecture.md.


Quick Start (Docker Compose)

Launch the entire stack (PostgreSQL + .NET Backend + React/Nginx Frontend) with a single command:

docker-compose up --build

Default demo credentials:


Local Development Setup

Prerequisites

1. Backend Setup

cd src/backend

# Restore NuGet packages
dotnet restore

# Run backend API (runs SQLite database auto-migration and seeds initial data)
cd OpsPulse.Api
dotnet run

Backend will start on http://localhost:5000. Test the API via Swagger at http://localhost:5000/swagger.

2. Frontend Setup

In a new terminal:

cd src/frontend

# Install dependencies
npm install

# Start Vite dev server with proxy
npm run dev

Open your browser at http://localhost:5173.


Running Automated Tests

# Run backend xUnit unit and domain tests
dotnet test tests/OpsPulse.UnitTests/OpsPulse.UnitTests.csproj --verbosity normal

API Summary

Method Endpoint Description Role Required
POST /api/v1/auth/login Authenticate with email/password Public
POST /api/v1/auth/register Register new engineer account Public
GET /api/v1/auth/me Fetch authenticated user profile Authenticated
GET /api/v1/incidents List paged incidents with search/filter Authenticated
POST /api/v1/incidents Declare new incident Responder+
GET /api/v1/incidents/{id} Get incident details & timeline Authenticated
PATCH /api/v1/incidents/{id}/status Transition status & log RCA Responder+
PATCH /api/v1/incidents/{id}/assign Assign responder or commander Commander+
POST /api/v1/incidents/{id}/updates Post investigative note Responder+
GET /api/v1/services List monitored services and SLAs Authenticated
POST /api/v1/services Register new platform service Admin / Commander
PATCH /api/v1/services/{id}/status Update component operational health Admin / Commander
GET /api/v1/analytics/overview Fetch MTTR, MTTD, and trends Authenticated

Full API reference: docs/api.md.


Publishing to GitHub

cd OpsPulse
git init
git add .
git commit -m "feat: initial commit of OpsPulse Cloud Incident & SLA Governance platform"
git branch -M main
git remote add origin https://github.com/<your-username>/opspulse.git
git push -u origin main

Roadmap

  • Webhook outbound dispatchers (Slack, PagerDuty, Discord integration).
  • AI-assisted Root Cause Analysis summaries via Gemini API.
  • OpenTelemetry distributed tracing ingestion.
  • Exportable PDF postmortem incident reports.

License

Distributed under the MIT License. See LICENSE for details.

About

Enterprise Cloud Incident & SLA Governance SaaS (.NET 8 Clean Architecture, EF Core, React TypeScript, Vite)

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages