This service generates various types of event reports based on user-defined filters. It operates as a standalone microservice in the BPOE system architecture.
The purpose of this project is to build a reports and summaries handling microservice.
- Exposes REST API for on-demand report generation,
- Generates reports based on custom filters and parameters,
- Communicates with the
db_handlermicroservice via REST, - Validates input using Pydantic models,
- Restricts access to API gateway only,
- Supports multiple extensible report types.
- Python >=3.13.3 with UV package manager
- Docker Desktop / Docker + Compose
- Clone the repository:
git clone https://github.com/Cybernetic-Ransomware/bpoe_events_reports.git
- Set .env file based on the template.
- Run using Docker:
docker-compose -f .\docker\docker-compose.yml up --build -d
- Clone the repository:
git clone https://github.com/Cybernetic-Ransomware/bpoe_events_reports.git
- Set .env file based on the template.
- Install UV:
pip install uv
- Install dependencies:
uv sync
- Install pre-commit hooks:
uv run pre-commit install uv run pre-commit autoupdate uv run pre-commit run --all-files
- Run the application locally:
uv run uvicorn src.main:app --host 0.0.0.0 --port 8080 --reload
Alternatively, after step 3, you can use the .bat or .sh init script provided.
This repository includes a Postman collection ready for import into a Postman Mock Server. collection
uv sync --extra dev
uv run pytestuv sync --extra dev
uv run ruff checkor as a standalone tool:
uvx ruff checkuv sync --extra dev
uv run mypy .\src\or as a standalone tool:
uvx mypy .\src\uv sync --extra dev
uv run codespell