Logo Lanfrica

dLiyayi/KezaBackend

Domaine:

socioeconomicdigital infrastructure

Type de record:

software
Créateur:
dLi
Hôte:
East Africa Equity Crowdfunding Platform # Keza Backend AI-powered equity crowdfunding platform for East Africa. Keza enables retail investors to participate in startup and SME equity offerings, with integrated KYC verification, M-Pesa payments, AI-assisted due diligence, and a secondary marketplace for share trading. ## Tech Stack | Layer | Technology | |-------|-----------| | Language | Java 21 | | Framework | Spring Boot 3.5 | | Database | PostgreSQL 17 + pgvector | | Cache | Redis 7 | | Messaging | RabbitMQ 3.13 | | Object Storage | MinIO (S3-compatible) | | AI | Spring AI + Anthropic Claude | | Build | Maven, JaCoCo | | Containerization | Docker, Kubernetes | | CI/CD | GitHub Actions | ## Architecture Multi-module Maven project following hexagonal (ports & adapters) architecture: ``` keza-backend/ keza-common/ Shared base entities, DTOs, exceptions, enums, utilities keza-infrastructure/ Security (JWT), audit, Redis, RabbitMQ, S3 configs keza-user/ Auth, registration, profiles, KYC document management keza-campaign/ Campaign CRUD, 6-step creation wizard, state machine keza-investment/ Investment processing, cooling-off period, portfolio keza-payment/ M-Pesa STK Push, card/bank payment routing keza-ai/ Chatbot, fraud detection, risk scoring keza-marketplace/ Secondary market listings, share trading keza-notification/ Email (SendGrid), SMS (Africa's Talking), push keza-admin/ User management, due diligence, analytics dashboard keza-app/ Spring Boot main app, Flyway migrations, assembly ``` Each domain module follows this internal structure: ``` com.keza. / domain/model/ Entities, value objects domain/port/in/ Use case interfaces domain/port/out/ Repository & service interfaces domain/service/ Domain services domain/event/ Domain events application/usecase/ Use case implementations application/dto/ Request/response DTOs adapter/in/web/ …