Tech Stack
A comprehensive overview of the technologies used in ReliaPulse.
Frontend
Next.js 16
The application uses Next.js 16 with the App Router:
- Server Components - Default rendering mode for better performance
- Client Components - Used where interactivity is required (marked with
"use client") - Route Handlers - API endpoints at
/api/v1/* - Middleware - Rate limiting, request ID tracking
- Streaming - Progressive rendering with Suspense boundaries
React 19
- Server Components for data fetching
- Client Components for interactivity
- Hooks for state management (
useState,useEffect,useCallback,useMemo) - Context for global state (Auth, Theme, Socket)
TypeScript
Strict TypeScript configuration with:
- Full type safety across the codebase
- Zod for runtime validation
- Prisma for type-safe database queries
TailwindCSS 4
- Utility-first CSS framework
- Custom color variables for theming
- Dark mode support via
classstrategy - Responsive design patterns
Radix UI
Accessible, unstyled component primitives:
- Dialog, Dropdown, Tabs, Select
- Accordion, Collapsible, Tooltip
- Command palette (cmdk)
Additional Frontend Libraries
| Library | Purpose |
|---|---|
@dnd-kit | Drag-and-drop for status page builder |
recharts | Chart visualizations |
date-fns | Date formatting and manipulation |
lucide-react | Icon library |
next-themes | Dark mode management |
sonner | Toast notifications |
Backend
Prisma 7
ORM for PostgreSQL with:
- Type-safe database client
- Migrations for schema changes
- Connection pooling
- JSON field support
// Example query
const components = await prisma.component.findMany({
where: { organizationId },
include: { subComponents: true }
});PostgreSQL
Primary database storing:
- All application data
- User sessions (optional)
- Audit logs
Features used:
- JSONB columns for flexible config
- Full-text search (planned)
- Triggers for cascading deletes
Redis
In-memory data store for:
- BullMQ job queues
- Rate limiting counters
- Session cache (optional)
BullMQ
Job queue library for background processing:
- Retry logic with exponential backoff
- Job prioritization
- Delayed jobs (scheduled tasks)
- Job events and progress tracking
Authentication
NextAuth.js v5
Authentication framework supporting:
- Credentials - Email/password with bcrypt
- OAuth - Google, GitHub (optional)
- SSO/SAML - Enterprise SSO via SAML Jackson
- 2FA - TOTP with backup codes
Security Libraries
| Library | Purpose |
|---|---|
bcryptjs | Password hashing |
otplib | TOTP 2FA generation |
@boxyhq/saml-jackson | SAML SSO |
crypto | API key hashing, encryption |
Monitoring & Integrations
Integration Adapters
Pattern-based adapter system for external services:
// Base adapter interface
interface BaseIntegrationAdapter {
validateConfig(config: unknown): Promise<boolean>;
testConnection(): Promise<boolean>;
fetchMetrics(query: string): Promise<MetricResult>;
}Supported integrations:
- Prometheus (PromQL)
- Datadog (DQL)
- New Relic (NRQL)
- Grafana (various datasources)
- Pingdom (check status)
Health Check System
Custom HTTP checker with:
- Multiple condition types
- JSON path evaluation (
jsonpath-plus) - Header and body validation
- Response time thresholds
Logging & Observability
Pino
Structured JSON logging:
{
"level": "info",
"time": "2026-01-24T12:00:00.000Z",
"service": "status-page",
"msg": "Health check completed"
}Features:
- Request context (IP, user agent, request ID)
- Worker-specific loggers
- Configurable log levels
Notifications
Delivery Channels
| Channel | Library/Method |
|---|---|
| Resend API | |
| SMS | Twilio API |
| Slack | Webhook API |
| Discord | Webhook API |
| Teams | Adaptive Cards |
| Webhook | Custom HTTP |
| Push | Web Push API |
Development Tools
Build & Development
- Turbopack - Fast development server
- Docker Compose - Local development environment
- Prisma Studio - Database GUI
Testing
| Tool | Purpose |
|---|---|
| Jest | Unit and API tests |
| Playwright | E2E tests |
| Mock libraries | Prisma, Auth mocking |
Code Quality
- ESLint for linting
- Prettier for formatting (optional)
- TypeScript for type checking
Deployment
Containerization
- Docker - Multi-stage builds
- Docker Compose - Development and small-scale production
Orchestration
- Kubernetes - Production scaling
- Helm - Package management (optional)
Platforms
Verified deployment targets:
- Vercel (Next.js app)
- Railway/Render
- AWS ECS/EKS
- Google Cloud Run/GKE
- Self-hosted Docker
Version Requirements
| Technology | Minimum Version |
|---|---|
| Node.js | 20.x |
| PostgreSQL | 14.x |
| Redis | 6.x |
| npm/pnpm | 8.x |