Pulse Tracker is a RESTful horizontally scalable discovery service built using the Node Framework, a library encapsulating common conventions in microservices development. This service tracks heartbeat signals from various client applications, maintaining their active status and metadata in a structured manner.
- Domain-Driven Design: Adopts a structured approach to organizing application logic around the business domain.
- Application Structuring: Follows a clear and scalable application structure as outlined by the Node Framework.
- Environment Variables Handling: Efficient management of environment configurations for different stages of deployment.
- Logging: Comprehensive logging mechanisms for effective monitoring and debugging.
- HTTP Routing and Validation: Robust routing and request validation ensuring reliable API interactions.
- Entity Validation, Presentation, and (De)Serialization: Ensures data integrity and proper representation across different layers of the application.
- Node.js installed on your machine.
- Access to a MongoDB database for storing the heartbeat data.
- Clone the repository:
git clone https://github.com/ramyatrouny/pulse-tracker.git
- Navigate into the project directory:
cd pulse-tracker
- Install the dependencies:
npm install
A comprehensive, step-by-step guide is available in the application's documentation for detailed reference.
POST /:group/:id
: Register or update an application instance in the specifiedgroup
.DELETE /:group/:id
: Unregister an application instance.GET /
: Get a summary of all currently registered groups.GET /:group
: Get details of instances within a specificgroup
.
To contribute to Pulse Tracker, you can follow the steps below:
- Fork the repository.
- Create a new feature branch (
git checkout -b feature/your-feature
). - Make your changes and commit (
git commit -am 'Add some feature'
). - Push to the branch (
git push origin feature/your-feature
). - Create a new Pull Request.