PulsePing is a modern uptime and latency monitoring platform for APIs. It provides real-time monitoring, smart alerts, and a clean dashboard to help you keep your services healthy and reliable.
- Real-Time Monitoring: Track API uptime, latency, and response codes with live updates.
- Smart Alerts: Get instant notifications for downtime or unusual latency.
- Historical Insights: View trends and history for all your monitored endpoints.
- Authentication: Secure access with Firebase Auth.
- Modern UI: Built with Next.js, React, and Tailwind CSS.
pulseping/
├── backend/ # Go API server, PostgreSQL, Firebase Auth
├── frontend/ # Next.js app, React, Tailwind CSS
- Go (>=1.25)
- Node.js (>=18)
- PostgreSQL
- Firebase project (for Auth)
-
Install dependencies:
cd backend go mod download -
Configure environment:
- Copy your Firebase Admin SDK JSON to
backend/internal/config/firebase-adminsdk.json. - Set up a
.envfile for database and Firebase credentials.
- Copy your Firebase Admin SDK JSON to
-
Run database migrations:
# Example using psql psql < internal/db/migrations/001_init.sql
-
Start the API server:
go run ./cmd/api
-
Install dependencies:
cd frontend npm install -
Configure Firebase:
- Update
frontend/lib/firebase.tswith your Firebase config if needed.
- Update
-
Run the development server:
npm run dev
-
Open http://localhost:3000 in your browser.
POST /api/monitors– Create a new monitor (auth required)GET /api/monitors– List your monitors (auth required)DELETE /api/monitors/{id}– Delete a monitor (auth required)GET /api/results/{monitor_id}– Get results for a monitor (auth required)GET /api/stream/results– Real-time results via SSE (auth required)
- Backend: Go, Chi, PostgreSQL, Firebase Auth
- Frontend: Next.js, React, Tailwind CSS, Recharts
- Auth: Firebase Authentication
MIT