Home - osama1998H/Moca GitHub Wiki
Moca Framework
Moca is a metadata-driven, multitenant, full-stack business application framework built in Go. A single MetaType definition drives database schema, validation, document lifecycle, permissions, API generation, search indexing, and React UI rendering.
Moca is a spiritual successor to the Frappe framework, redesigned from scratch with Go, PostgreSQL, Redis, and React.
Quick Links
Technology Stack
| Layer |
Technology |
| Backend |
Go 1.26+ |
| Frontend |
React 19+, TypeScript, Vite, TailwindCSS, shadcn/ui |
| Database |
PostgreSQL 16+ (schema-per-tenant, JSONB, RLS) |
| Cache / Queue |
Redis 7+ (go-redis v9, Redis Streams) |
| Event Streaming |
Apache Kafka (optional; Redis pub/sub fallback) |
| Search |
Meilisearch v1.12 |
| Object Storage |
S3-compatible (MinIO) |
| CLI |
Cobra (152+ commands) |
Key Concepts
Five Binaries
| Binary |
Purpose |
moca |
CLI tool -- project init, site management, development, operations |
moca-server |
HTTP + WebSocket API server, serves Desk static assets |
moca-worker |
Redis Streams job consumer (horizontally scalable) |
moca-scheduler |
Cron scheduler (single-leader via distributed lock) |
moca-outbox |
Transactional outbox poller (DB events to Kafka/Redis) |
Contributing