Skip to content

A Domain Driven service for monitoring the heartbeat signals of client applications to ensure their operational status and automatically detect inactive clients

Notifications You must be signed in to change notification settings

ramyatrouny/Pulse-tracker

Repository files navigation

Pulse Tracker

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.

Features

  • 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.

Getting Started

Prerequisites

  • Node.js installed on your machine.
  • Access to a MongoDB database for storing the heartbeat data.

Installation

  1. Clone the repository:
git clone https://github.com/ramyatrouny/pulse-tracker.git
  1. Navigate into the project directory:
cd pulse-tracker
  1. Install the dependencies:
npm install

Documentation

A comprehensive, step-by-step guide is available in the application's documentation for detailed reference.

Application Documentation

API Endpoints

  • POST /:group/:id: Register or update an application instance in the specified group.
  • DELETE /:group/:id: Unregister an application instance.
  • GET /: Get a summary of all currently registered groups.
  • GET /:group: Get details of instances within a specific group.

Development

To contribute to Pulse Tracker, you can follow the steps below:

  1. Fork the repository.
  2. Create a new feature branch (git checkout -b feature/your-feature).
  3. Make your changes and commit (git commit -am 'Add some feature').
  4. Push to the branch (git push origin feature/your-feature).
  5. Create a new Pull Request.

About

A Domain Driven service for monitoring the heartbeat signals of client applications to ensure their operational status and automatically detect inactive clients

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published