Skip to content

rajgurung/mvp-pulse-ping-receiver

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MVP Pulse Ping Receiver

Go Version License

A lightweight Go server that receives heartbeat pings from multiple clients to monitor the health and uptime of their systems.

🚀 Project Purpose

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

📦 Project Structure

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

🛠 Getting Started

Prerequisites

  • Go 1.22+ installed
  • Git installed

Clone the repository

git clone git@github.com:rajgurung/mvp-pulse-ping-receiver.git
cd mvp-pulse-ping-receiver

Install dependencies

go mod tidy

Run the server

go run .

The server will start on http://localhost:8080

📜 API Endpoint

Method Endpoint Description
POST /ping/{token} Client sends a heartbeat ping

Example Request

curl -X POST http://localhost:8080/ping/your-client-token

✅ The server will respond with 200 OK.

🧩 Future Improvements

  • Forward pings to Rails Core API
  • Add metrics (e.g., Prometheus integration)
  • Add authentication and token validation
  • Graceful shutdown handling
  • Healthcheck endpoints

🧠 Tech Stack

  • Go
  • Gorilla Mux (HTTP router)

📄 License

This project is licensed under the MIT License.

✨ Author

About

A lightweight server that receives heartbeat pings from multiple clients to monitor the health and uptime of their systems.

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages