Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

9 Commits

Folders and files

Repository files navigation

PulseWatch

API monitoring and incident management platform (SaaS). This repository contains the backend: an ASP.NET Core 10 Web API plus the background monitoring worker.

Stack

Concern Choice
API ASP.NET Core 10 (Minimal APIs)
Persistence PostgreSQL via EF Core 10
Auth JWT access tokens + rotating refresh tokens
Monitoring BackgroundService hosted in the API process
Tests xUnit + WebApplicationFactory functional tests over SQLite

Layout

src/PulseWatch.Domain           entities, enums, domain rules (no dependencies)
src/PulseWatch.Infrastructure   EF Core DbContext, configurations, migrations
src/PulseWatch.Api              HTTP endpoints, auth, background worker, composition root
tests/PulseWatch.FunctionalTests  black-box tests driving the real HTTP pipeline

Running

dotnet run --project src/PulseWatch.Api

Configure ConnectionStrings:PulseWatch and Jwt:Key (min. 32 chars) via user secrets or environment variables. Migrations are applied automatically on startup in Development.

Tests

dotnet test

Functional tests run against an in-memory SQLite database and need no external services.

API

Method Route Purpose
POST /api/auth/register Create an organization and its owner
POST /api/auth/login Exchange credentials for tokens
POST /api/auth/refresh Rotate a refresh token
POST /api/auth/logout Revoke a refresh token
GET/PUT /api/auth/me Read or update the current profile
POST /api/auth/change-password Change the password and end all sessions
GET/POST /api/endpoints List (filter, search) or create endpoints
GET/PUT/DELETE /api/endpoints/{id} Read, update or delete one endpoint
POST /api/endpoints/{id}/activate /deactivate /duplicate Endpoint operations
GET /api/healthchecks Paged check history across all endpoints
GET /api/healthchecks/{endpointId} Paged history for one endpoint
GET /api/incidents Paged incidents (endpoint, status, severity, date, search)
GET /api/incidents/{id} One incident
GET /api/incidents/export The filtered incidents as CSV
GET /api/dashboard/overview Summary cards
GET /api/dashboard/metrics Uptime, response-time, incident trends and status split

Roles are Owner, Admin, Member and Viewer; viewers are read-only.

Scope

Implements the V1.0 (Portfolio MVP) roadmap slice: authentication, organizations, endpoint management, health checks, incident tracking, and dashboard metrics. Design questions the specification left open are answered in docs/architecture-decisions.md.

Not built yet, and deliberately so — these are later roadmap versions or need a decision first: email and chat notifications, password reset (which needs a mail provider), public status pages, SSL certificate monitoring, member invitations, SignalR real-time updates, Redis caching and rate limiting, and the Docker/CI setup.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages