This repository contains the core code for the Aftermath project.
frontend/
– React (Next.js/Vite) frontendbackend/
– Node.js/Express or FastAPI backendintegrations/
– Connectors for ServiceNow, PagerDuty, JIRA, etc.plugins/
– Community-driven integrationsdocs/
– Documentation and API references
The project is split into a frontend and a backend.
- Backend: An Express server offers REST endpoints for incidents, postmortems, actions and metrics. It protects routes with JSON Web Tokens and role checks. A small
/graphql
endpoint lets clients search postmortems. - Frontend: A React app built with Vite. The main
App
component shows a dashboard with tabs for Incidents, Postmortems, Actions, Metrics, Timeline and more. Data-fetching helpers keep API calls in one place. - Integrations: Connectors for services like ServiceNow, PagerDuty and JIRA help the app talk to external tools.
- Plugins: A plugins folder lets the community add extra features or integrations.
Additional files:
.env.example
– Example environment variables for APIsdocker-compose.yml
– Docker Compose configuration
-
Install dependencies
cd backend && npm install cd ../frontend && npm install cd ../integrations && npm install
-
Environment variables
Copy the example file and update values as needed:
cp .env.example .env
Key variables:
PORT
– backend server port (default: 5000)BACKEND_URL
– base URL for the backend (default: http://localhost:5000 in development)FRONTEND_URL
– base URL for the frontend (default: http://localhost:3000 in development)JWT_SECRET
– secret for signing JSON Web Tokens
In development, the backend listens on port 5000 and the frontend on port 3000. Update these URLs if your production deployment uses different ports.
cd backend
npm run dev
cd frontend
npm run dev
Set the connector credentials and API URLs in your .env
file:
JIRA_ENDPOINT
andJIRA_TOKEN
PAGERDUTY_ENDPOINT
andPAGERDUTY_TOKEN
SERVICENOW_ENDPOINT
andSERVICENOW_TOKEN
The JWT_SECRET
key is also required for authentication.
JWT tokens include a role
claim used for role-based access control.
The sample backend defines admin
and user
roles. Endpoints like
/actions
and /metrics
are limited to users with the admin
role.
See CONTRIBUTING.md for guidelines on coding standards, pull requests, and testing.