Back to Projects

Experimental Sequence 00

CivicConnect
Complete Working Documentation

Full implementation walkthrough from repository architecture to runtime operations: microservices, async AI pipelines, RAG chatbot workflow, Kubernetes deployment model, and screenshot-backed behavior for both admin and citizen apps.

GoNode.jsPythonFlutterVue 3PostgreSQLPostGISRedisRabbitMQKubernetesNGINXChromaDB
ArchitectureMicroservices
Gateway synchronized

Primary Service Matrix

admin-service

Go + Gin + GORM | 8081

Authentication, admin hierarchy, governments/departments, dashboard aggregates

content-service

Node.js + Express + pg | 8082 / gRPC 50051

Posts, articles, comments, likes/bookmarks, media upload, AI summary trigger

complaint-service

Go + Gin + GORM + PostGIS | 8083

Complaint lifecycle, votes, action timelines, nearby geospatial queries

chatbot-service

Python FastAPI + WebSocket | 8084

PulseBot APIs, RAG retrieval, vector ingest/update

ai-worker

Python + RabbitMQ + gRPC | 8085 / 50052

Async summarization, complaint analysis, assistant worker jobs

End-to-End Request Flow

User clients (Vue admin panel + Flutter app) call NGINX gateway routes.

Gateway forwards to domain services (admin, content, complaint, chatbot).

Service-owned PostgreSQL databases persist domain state with strict boundaries.

RabbitMQ carries async jobs consumed by AI worker for summarization/analysis.

Chatbot service ingests policy + dynamic content into ChromaDB for RAG responses.

Core Infrastructure Components

PostgreSQL (admin_db, content_db, complaint_db)

PostGIS for complaint geospatial search

RabbitMQ for asynchronous pipelines

Redis for cache/session/counters/chat history

MinIO for object storage

ChromaDB for vector retrieval

Build + Operations Commands

docker compose up --build -d

minikube start

minikube addons enable ingress

kubectl apply -f civic-connect/infrastructure/k8s/

skaffold dev --port-forward

Architecture and Data Diagrams

Admin Panel Screenshot Walkthrough (01-10)

Flutter Mobile Walkthrough (00-06)