LexCam is an AI-powered digital legal aid platform designed specifically for Cameroon. It addresses the critical access-to-justice gap by empowering ordinary citizens with reliable legal information, practical tools, and connections to verified lawyers in their city.
# LexCam — AI-Powered Legal Aid Platform for Cameroon
> SEN3244 Software Architecture | Spring 2026 | ICT University
> Team: 2 members | VPS: Contabo Cloud VPS 10 (4 vCPU, 8GB RAM) | Orchestration: K3s
LexCam is a bilingual (French/English) Progressive Web App that gives Cameroonian citizens access to legal information, verified lawyer referrals, and formally generated legal documents — all powered by a RAG AI pipeline and deployed on Kubernetes.
---
## Architecture
LexCam uses a **Microservices + Event-Driven Hybrid** architecture.
```
Browser (Next.js PWA)
│
▼
UFW Firewall (Contabo VPS)
│
▼
Traefik Ingress Controller (K3s built-in) — TLS termination
│
▼
Kong API Gateway — routing, rate limiting, auth middleware
│
▼
Microservices Layer (11 services)
│
├── User Management (8001) ─ auth, JWT, OTP, profiles
├── Lawyer Service (8002) ─ directory, referrals, verification
├── Knowledge Base (8003) ─ law storage, vector + keyword search
├── RAG Service (8004) ─ AI Legal Assistant, SSE streaming
├── Embedding Service (8005) ─ multilingual-e5-small, 384-dim vectors
├── Document Service (8006) ─ PDF generation, pay-first policy
├── Payment Service (8007) ─ Campay Mobile Money integration
├── Notification Service (8008) ─ SMTP email dispatch
├── Feedback Service (8009) ─ AI response ratings, auto-flagging
├── Admin Panel (8010) ─ internal Django Admin
└── Scraper Service (8011) ─ lawyer directory crawler
Event Bus: RabbitMQ (topic exchange lexcam.events + DLX)
Workers: Doc Worker | Notification Worker | Lawyer Ingest | Indexing Worker
Databases: PostgreSQL (10 schemas) | Qdrant | MinIO | Redis
```
---
## Features
| Feature | Description |
|---|---|
| **AI Legal Assistant** | RAG pipeline — Qdrant retrieval + Groq Llama 3.3 70B, SSE token streaming, bilingual |
| **Law Explorer** | Dual search (Qdrant vector + PostgreSQL tsvector), Reciprocal Rank Fusion, plain-language summaries |
| **Lawyer Directory** | Sel …