A decentralized monitoring tool for tracking uptime, performance, and reliability of DePin (Decentralized Physical Infrastructure) networks with real-time WebSocket communication.
- Real-time monitoring via WebSocket (Hub ↔ Validator)
- Next.js dashboard with authentication (Clerk)
- Prisma ORM with PostgreSQL for reliable data storage
- Monorepo architecture with Turbo for efficient development
- End-to-end TypeScript for type safety
- Framework: Next.js 15.2.3 (React 19)
- Styling: TailwindCSS + Radix UI
- Auth: Clerk
- HTTP: Axios
- Utilities: clsx, class-variance-authority
- Runtime: Express.js (TypeScript)
- Auth: JWT
- Security: CORS enabled
- Runtime: Bun
- Communication: WebSocket client
- Communication: WebSocket server
- ORM: Prisma (PostgreSQL)
- Runtime/PM: Bun
- Monorepo: Turbo
- Linting: ESLint + Prettier
- Type Safety: TypeScript
- Containerization: Docker
- Project Structure: Workspace-based monorepo
graph LR
A[Frontend] -->|Axios| B[API]
B -->|Prisma| C[(Database)]
H[Hub] <-->|WebSocket| V[Validator]
- Frontend communicates with API via HTTP
- API persists data to Database via Prisma
- Hub and Validator maintain persistent bidirectional WebSocket connection:
- Hub pushes status updates to Validator
- Validator sends health reports back to Hub
Ensure your system has:
# Verify installations
node -v
docker --version
bun -vgit clone https://github.com/your-username/depin-uptime.git
cd depin-uptime
cp .env.example .env
# Edit the .env file with your specific configurations in every folder that has a .env.example file
docker compose up -d
bun install
cd packages/db
bun x prisma generate
bun x prisma migrate dev
bun seed.ts
Run each service in a different terminal
# API Service
cd apps/api && bun run index.ts
# Hub Service (WebSocket Server)
cd apps/hub && bun run index.ts
# Validator Service (WebSocket Client)
cd apps/validator && bun run index.ts
# Frontend Development
cd apps/frontend && bun run dev
- Name: Devrat Dave
- Email: devratdave02@hotmail.com
- GitHub: @devratdave
- GitHub Issues: Report bugs/requests
Project Link: https://github.com/devratdave/depin-uptime