Skip to content

pruthviraj7714/betterstack

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🧠 BetterStack β€” Website Uptime Monitoring Platform

BetterStack is a modern, full-stack website uptime monitoring platform designed with scalability and real-time observability in mind. It features:

  • πŸ”„ Real-time backend using Redis Streams
  • 🌍 Distributed, region-based monitoring with auto-scaling workers
  • πŸ–₯️ A sleek dashboard built with Next.js + Tailwind CSS
  • βš™οΈ Background workers that track uptime and response times
  • πŸ“‘ Periodic queueing of websites via a pusher service

All wrapped in a modular monorepo powered by Turborepo.


🧱 Architecture

πŸ“Œ The system is built with clear separation of concerns:

  • Frontend: Dashboard and monitoring views
  • Backend: API layer for websites/regions
  • Pusher: Periodically adds websites to Redis queue
  • Worker: Distributed consumers processing uptime checks

Architecture Diagram


πŸ›  Tech Stack

Layer Tech
Monorepo Turborepo
Frontend Next.js, Tailwind CSS
Backend Express.js
Queue Redis Streams
Database PostgreSQL via Prisma ORM
Worker Node.js β€” for distributed region-based website checks
Pusher Node.js β€” queues websites every 3 minutes

🌐 Live Demo

πŸ”— Watch BetterStack in Action (YouTube)

πŸ–₯ UI Screenshots

Dashboard Dashboard Page

Monitoring View Monitor Page


πŸ“¦ Features

  • βœ… Add regions and websites dynamically
  • πŸ”„ Automatically create consumer groups for new regions
  • πŸš€ Launch new workers per region using Redis XGROUP
  • ⏱ Real-time monitoring with response time metrics
  • πŸ“Š Scalable architecture with separate services for pushing, processing, and viewing data