Lalabase
티켓·문서·근무시간·고객대화를 한 곳에 모아 KI로 검색, 소프트웨어 기업 고객 프로젝트용, 오픈소스로 자체 서버·독일 클라우드에 배포
ConvoReal은 WhatsApp 기반 AI 부동산 CRM 및 거래 엔진으로 구매자, 소유주, 중개인을 연결합니다
ConvoReal is a WhatsApp-first, AI-powered real estate CRM and deal engine connecting buyers, property owners, and agents. Auto-capture leads, manage inventories, match properties, and run campaigns.
비즈니스TypeScript · PLpgSQLGitHub @praneethpvrealty온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Whatsap based crm tailered to real
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
ConvoReal — WhatsApp Engine for Real Estate
Self-hostable WhatsApp Engine purpose-built for Indian real estate agents and brokerages. Property inventory, lead management, sales pipeline, broadcast campaigns, automations, and a branded public showcase portal — all integrated with the WhatsApp Business API.
WhatsApp Business API Engine with a real estate vertical:README 전문 보기 ↗Self-hostable WhatsApp Engine purpose-built for Indian real estate agents and brokerages. Property inventory, lead management, sales pipeline, broadcast campaigns, automations, and a branded public showcase portal — all integrated with the WhatsApp Business API.
WhatsApp Business API Engine with a real estate vertical:
?mode=agent).REQ- code. The link opens a page where they submit a matching listing, or they reply on WhatsApp quoting the code and the intake bot walks them through it. Either route lands a Pending Review property tied back to the requirement.Meta Webhooks ──→ Go Ingress (port 8080) ──→ Redis Queue ──→ Node Worker
│ (scripts/queue-worker.ts)
(HMAC-SHA256
verification)
Next.js Server
│ (API routes + pages)
│ │
└── (verify fallback) ──────────┘
│
Supabase
(Postgres + Auth
+ Storage)
| Layer | Technology | Role |
|---|---|---|
| Webhook ingress | Go 1.24 (go-ingress/main.go) | HMAC-SHA256 verification, Redis fan-out, Dockerized (7MB binary) |
| Queue | Redis | Webhook buffer, dead-letter queue recovery |
| App server | Next.js 16 (App Router) | SSR pages, REST API, business logic |
| Database | Supabase (PostgreSQL + RLS) | Multi-tenant data, auth, storage, realtime |
| AI | Google Gemini 2.5 / Imagen 4.0 | Property descriptions, image generation, chatbot |
| Messaging | Meta WhatsApp Cloud API v21 | Send/receive messages, templates, media |
git clone <your-repo-url>
cd convoreal
npm install
cp .env.local.example .env.local # fill in Supabase + Meta creds
npm run dev
Open http://localhost:3000. You'll be redirected to /login.
| Variable | Purpose |
|---|---|
NEXT_PUBLIC_SUPABASE_URL | Supabase project URL |
NEXT_PUBLIC_SUPABASE_ANON_KEY | Supabase anonymous key |
SUPABASE_SERVICE_ROLE_KEY | Server-side admin access |
ENCRYPTION_KEY | 64-char hex for AES-256-GCM token encryption |
META_APP_SECRET | WhatsApp webhook HMAC verification |
Apply migrations from supabase/migrations/ in order (001–063) in the Supabase SQL Editor. Every table has Row-Level Security with account_id tenant isolation.
src/ # Next.js application
├── app/ # Pages + API routes
│ ├── (auth)/ # Login, signup, forgot-password
│ ├── (dashboard)/ # Dashboard, inbox, inventory, pipelines, etc.
│ └── api/ # REST endpoints
├── components/ # UI components by domain
│ ├── inventory/ # Property forms, share dialogs, flyer creator
│ ├── inbox/ # WhatsApp chat, message bubbles, composer
│ ├── showcase/ # Public property showcase viewer
│ ├── pipelines/ # Kanban board, deal cards
│ ├── settings/ # All settings panels
│ ├── ui/ # shadcn/ui primitives
│ └── ...
├── lib/ # Business logic
│ ├── whatsapp/ # Meta API client, webhooks, templates, encryption
│ ├── ai/ # Gemini chatbot engine
│ ├── automations/ # Automation execution engine
│ ├── flows/ # Interactive flow engine
│ ├── matching.ts # Contact-property matching
│ └── supabase/ # Client factories
├── hooks/ # useAuth, useTheme, useCan (RBAC)
├── scripts/ # Background workers
│ ├── queue-worker.ts # Redis consumer for webhook processing
│ └── replay-dlq.ts # Dead letter queue recovery
└── proxy.ts # Auth redirect middleware
go-ingress/ # Go webhook ingress (standalone, Dockerized)
├── main.go # HMAC verification + Redis enqueue
├── main_test.go # Tests
├── Dockerfile # Multi-stage Alpine build
└── go.mod / go.sum
supabase/migrations/ # Database migrations (001–063)
docs/ # Deployment guides, architecture docs
A branded public portal at the root URL (/) with:
?mode=agent): hides inquiry forms and interest buttons for co-broker sharingIncoming portal emails are parsed by portal-specific extractors that:
Contacts can update Engine data directly from WhatsApp:
A standalone Go service that sits in front of the Node.js application:
| Service | Where | How |
|---|---|---|
| Web app | Vercel, Railway, or any Node.js host | npm run build && npm start |
| Go ingress | Railway / Docker host | docker run -p 8080:8080 go-ingress |
| Queue worker | Railway / background container | npx tsx src/scripts/queue-worker.ts |
| Database | Supabase (managed Postgres) | Run migrations in SQL Editor |
| Redis | Upstash / Redis Labs / self-hosted | Set REDIS_URL env var |
See LICENSE.