Skip to content

Project Structure

If you're interested in contributing or understanding the code, here's an overview of the project structure:

healthchecker/
├── __init__.py
├── setup.py
├── requirements.txt
├── Dockerfile
├── docker-compose.yml
├── healthchecker/
│   ├── __init__.py
│   ├── config/
│   │   ├── __init__.py
│   │   ├── models.py        # Configuration data models
│   │   └── loader.py        # Configuration loading & validation
│   ├── monitoring/
│   │   ├── __init__.py
│   │   ├── checker.py       # Main monitoring system
│   │   ├── endpoint.py      # Endpoint checker
│   │   └── response_parser.py # Response validation
│   ├── alerting/
│   │   ├── __init__.py
│   │   ├── manager.py       # Alert management
│   │   ├── providers/
│   │   │   ├── __init__.py
│   │   │   ├── base.py      # Base alert provider
│   │   │   ├── slack.py     # Slack integration
│   │   │   └── email.py     # Email integration
│   ├── utils/
│   │   ├── __init__.py
│   │   └── logging.py       # Logging utilities
│   └── cli.py               # Command line interface
└── tests/                   # Test suite

Key Components

The system is organized into several key components:

  • Configuration - Handles loading and validating configuration files
  • Monitoring - Manages health checks and response validation
  • Alerting - Sends notifications when checks fail
  • Utils - Provides common utilities and helpers
  • CLI - Implements the command line interface

This modular structure makes it easy to understand, maintain, and extend the system.