A lightweight Go server that receives heartbeat pings from multiple clients to monitor the health and uptime of their systems.
The Ping Receiver accepts incoming POST /ping/{token} requests from various clients to:
- Confirm client liveness
- Optionally forward pings to the core API (Rails backend) for tracking
- Respond quickly with 200 OK
mvp-pulse-ping-receiver/
├── main.go # Entry point of the server
├── router/
│ └── router.go # Route definitions
├── internal/
│ └── handlers/
│ └── ping.go # Ping handler logic
├── go.mod # Go module file
└── README.md # Project documentation
- Go 1.22+ installed
- Git installed
git clone git@github.com:rajgurung/mvp-pulse-ping-receiver.git
cd mvp-pulse-ping-receivergo mod tidygo run .The server will start on http://localhost:8080
| Method | Endpoint | Description |
|---|---|---|
| POST | /ping/{token} |
Client sends a heartbeat ping |
curl -X POST http://localhost:8080/ping/your-client-token✅ The server will respond with 200 OK.
- Forward pings to Rails Core API
- Add metrics (e.g., Prometheus integration)
- Add authentication and token validation
- Graceful shutdown handling
- Healthcheck endpoints
- Go
- Gorilla Mux (HTTP router)
This project is licensed under the MIT License.