No description
Find a file
2026-10-03 03:06:55 +05:30
backend graph api fix 2026-10-03 03:06:55 +05:30
database/init first commit 2026-10-02 11:22:40 +05:30
docs graph api fix 2026-10-03 03:06:55 +05:30
frontend whatsapp fixes 2026-10-03 00:54:52 +05:30
.env.example privacy policy and business integration 2026-10-02 14:09:03 +05:30
.gitignore first commit 2026-10-02 11:22:40 +05:30
CPaaS_WEBSOCKET_RELAY_ARCHITECTURE.md first commit 2026-10-02 11:22:40 +05:30
docker-compose.yml privacy policy and business integration 2026-10-02 14:09:03 +05:30
GENERIC_TEMPLATE_SMS.md first commit 2026-10-02 11:22:40 +05:30
KYC Form - Pvt Ltd Client.docx first commit 2026-10-02 11:22:40 +05:30
logo.png first commit 2026-10-02 11:22:40 +05:30
OTP_SMS_IMPLEMENTATION.md first commit 2026-10-02 11:22:40 +05:30
README.md first commit 2026-10-02 11:22:40 +05:30
Updated LOA.docx first commit 2026-10-02 11:22:40 +05:30

Urmi

Phase-one CPaaS console skeleton with independently deployable frontend, API, and data infrastructure.

Modules

  • frontend/ — Vite, React, TypeScript console
  • backend/ — FastAPI control-plane API
  • database/ — PostgreSQL bootstrap schema and seed data
  • docker-compose.yml — local modular development stack

Run locally

docker compose up --build

Environment configuration

Urmi uses separate env templates for each layer:

Template Copy to When
.env.example .env Docker Compose (backend auth + Google OAuth)
backend/.env.example backend/.env Running FastAPI on the host
frontend/.env.example frontend/.env Running Vite on the host

Full variable reference, flows, and troubleshooting: docs/ENVIRONMENT.md

Quick start for Compose:

cp .env.example .env
docker compose up --build

Email/password auth works without Google vars. Set AUTH_SECRET before any non-local deploy.

Authentication

Google sign-in requires GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET, and this redirect URI in Google Cloud Console:

http://localhost:8000/api/v1/auth/google/callback

The canonical user_accounts table is separate from password_credentials and oidc_identities. A verified Google identity is linked to an existing user by normalized email, preventing duplicate accounts. Google-first users can add a password from Console → profile → Sign-in & security.

Core development starts PostgreSQL, Redis, the backend, and frontend. Optional phase-one infrastructure is isolated behind Compose profiles:

docker compose --profile data-plane --profile analytics --profile object-storage up --build

This additionally starts Kafka, ClickHouse, and MinIO (a local S3-compatible store).

Architectural boundary

The frontend never accesses a database directly. The FastAPI service owns transactional PostgreSQL access. Kafka, ClickHouse, and object storage are available as separate infrastructure modules for data-plane events, analytics, and files as those features are implemented.