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

New to Moca? Quick Start Guide
Understanding the architecture System Overview
Building an app Creating Your First App
Frontend development Desk Getting Started
CLI reference CLI Commands
API reference REST API
Project roadmap Roadmap Overview

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