Skip to content
프로젝트

Victor-Kipruto-Rop/TELIXO has 47 GitHub stars and 0 forks. GitHot measured 0 stars in 24 hours. Last checked 2026-11-15 13:07 UTC. Last push 2026-10-26.

이 수치를 측정하는 방법

측정된 스타 증가

in 24h
0
in 7 days
기록 수집 중
in 15 days
기록 수집 중
in 1 month
기록 수집 중

서로 겹치는 기간의 순증가량이며 일별 합계가 아닙니다. 측정값이 없으면 비워 둡니다. 스타는 관심도를 나타내며 품질을 보장하지 않습니다.

소개

Real-Time M-Pesa Transaction Streaming Pipeline built using modern data engineering technologies to ingest, process, stream, and analyze transaction data in real time. Demonstrates event-driven architecture, stream processing, data pipelines, and scalable analytics for fintech applications.

데이터

README.md

Original

TELIXO

TELIXO is a multi-language fintech streaming and infrastructure platform for ingesting, validating, processing, and analyzing M-Pesa transaction events. It does not treat callback receipt as proof of payment, and this repository does not itself initiate, reverse, refund, or settle payments.

Repository layout

The application and platform code is organized into six top-level platform directories:

Directory Responsibility
Python/ Callback ingestion, event normalization, Kafka streaming, data quality, dbt/analytics, risk research, and Python tests
Java/ Java enterprise and core service scaffolds
Elixir/ Concurrent delivery and workflow service scaffolds
Infrastructure/ Local dependencies, deployment assets, Kubernetes/Terraform, observability, shared event contracts, and platform documentation
frontend/ Web applications and frontend build/deployment configuration
Go/ Event relay, quota engine, and infrastructure monitoring services

GitHub automation remains in .github/ because GitHub Actions requires that path. Repository-level configuration and entry-point files (for example .env.example, compose.yaml, Dockerfiles, and Makefile) remain at the root; they are not additional application platform directories.

Legacy Python runtime and data-engineering paths have been grouped under Python/. Shared contracts, operational documentation, and infrastructure tooling have been grouped under Infrastructure/. When changing these locations, update imports, Docker build contexts, Compose mounts, workflow paths, and deployment manifests together.

Local development

Use Docker Compose v2.20.3 or newer for the combined platform configuration, which uses Compose include.

Validate the complete Compose model before starting containers:

docker compose -f compose.yaml config

Build and start the combined local stack:

docker compose -f compose.yaml build
docker compose -f compose.yaml up -d
docker compose -f compose.yaml ps

Stop the stack:

docker compose -f compose.yaml down

Individual platform stacks can be started from the repository root:

docker compose -f Infrastructure/compose.yaml up -d
docker compose -f python-compose.yaml up -d --build
docker compose -f Java/compose.yaml up -d --build
docker compose -f Elixir/compose.yaml up -d --build
docker compose -f Go/compose.yaml up -d --build
docker compose -f frontend/compose.yaml up -d --build

The existing root Dockerfiles use the repository root as the Docker build context and explicitly copy the relevant code from Python/. Do not change the build context without updating the corresponding Dockerfile paths.

Event delivery and financial safety

  • Use durable acceptance and retry/recovery semantics for callbacks and published events.
  • Describe delivery as at-least-once unless stronger guarantees are proven end-to-end; downstream consumers must be idempotent.
  • Persist malformed-message dead letters before advancing a consumer offset.
  • Do not treat validation callbacks as confirmation of a financial transaction.
  • Do not trust an unverified callback field as tenant identity.
  • Never commit production credentials, access tokens, or customer payloads.
  • Do not deploy structural changes to production until CI, migration compatibility, and staging smoke tests pass.

Validation status

A repository reorganization is not proof that all services build or are production-ready. Run the relevant CI workflows and Compose validation after structural changes, review failures, and record which integration tests were skipped because dependencies or provider test credentials were unavailable.