NocoBase is an open-source, self-hosted no-code and low-code platform designed for development teams building internal tools, CRM, ERP, and project management systems. It solves the problem of slow, expensive custom development by letting teams visually construct complex applications without writing code — while still retaining full control over data, security, and extensibility. Unlike traditional no-code tools limited to forms and tables, NocoBase uses a data model-driven approach that decouples UI from data structure, enabling infinite customization.
Built with TypeScript and Node.js, NocoBase runs as a self-hosted application via Docker, CLI, or source code. Its plugin-based microkernel architecture mirrors WordPress, allowing every feature — from blocks and actions to APIs and data sources — to be extended or replaced. It integrates with external databases, third-party APIs, and AI models, making it ideal for enterprises needing privacy, integration, and scalability without vendor lock-in.
What You Get
- Data Model-Driven Architecture - Decouples data structure from UI, allowing multiple visual blocks and actions to be created for the same table or record, with support for main databases, external databases, and third-party APIs as data sources.
- AI Employees - Embed AI agents (translator, analyst, researcher) directly into interfaces and workflows, enabling seamless human-AI collaboration with customizable, secure, and context-aware AI actions.
- WYSIWYG Page Builder - Drag-and-drop canvas interface similar to Notion, with one-click toggle between usage and configuration mode, enabling non-developers to design complex pages without code.
- Plugin-Based Extensibility - Every feature is a plugin (pages, blocks, actions, APIs, data sources), allowing users to install, develop, or replace functionality with custom plugins — just like WordPress.
- Fine-Grained Permissions - Control access at the menu, data, and action level with role-based permissions, ensuring secure data handling for teams and clients.
- Workflow Automation - Orchestrate complex business logic with visual workflows that trigger actions based on events, enabling automation of approvals, notifications, and data processing.
Common Use Cases
- Building an internal CRM - A sales team uses NocoBase to create a custom CRM connected to their PostgreSQL database, with AI employees auto-summarizing customer emails and workflows triggering follow-up tasks.
- Developing a project management tool - A product manager builds a Kanban board with custom fields, calendar views, and automated status updates using NocoBase’s block system and workflow engine, replacing Jira without licensing costs.
- Creating a client-facing portal - A consulting firm deploys a secure, branded portal for clients to submit requests, view reports, and track progress — all built with NocoBase’s permission system and external API integrations.
- Integrating AI into legacy systems - A manufacturing company connects NocoBase to their ERP system, using AI employees to analyze production data and auto-generate maintenance reports — without touching the legacy codebase.
Under The Hood
Architecture
- Modular monorepo structure with clear separation of server and client plugins, enabling independent development and deployment
- Plugin system built on extensible interfaces that adhere to the Open/Closed Principle, allowing dynamic feature extension without core modification
- Layered architecture with Koa-based HTTP handling, ORM-backed data models, and plugin-driven business logic encapsulation
- Unified type system and build pipelines across client and server, promoting full-stack consistency and shared contracts
Tech Stack
- Node.js with TypeScript forming the core runtime, supported by a monorepo managed via Lerna and workspaces
- React and Ant Design power the frontend with robust component reuse and type safety, complemented by React Router for navigation
- Sequelize with PostgreSQL in a Dockerized environment ensures scalable data persistence, while Koa and Express handle backend HTTP concerns
- Vitest, ESLint, and Prettier enforce consistent code quality across all modules, with automated testing and formatting pipelines
- Multi-stage Docker builds with Nginx and custom entrypoints enable production-ready, environment-aware deployments
Code Quality
- Extensive test coverage across unit, integration, and performance scenarios with deterministic test environments via mocking utilities
- Clear separation of concerns through modular packages, ensuring core functionality is isolated and independently testable
- Comprehensive TypeScript typing applied uniformly across data models, collections, and UI components, reducing runtime errors
- Consistent naming and error handling patterns, though custom error classes are inconsistently implemented
What Makes It Unique
- Bidirectional plugin system that seamlessly connects client and server extensions, eliminating boilerplate for full-stack feature development
- Flow-engine that dynamically renders UI controls based on hierarchical data relationships, enabling context-aware form behavior
- Unified data-source manager that abstracts diverse data backends into a single queryable schema with runtime schema synthesis
- Client-side flow configuration rendered directly within UI components via portal-based toolbars, removing the need for separate configuration modals
- Self-documenting CLI and documentation generated from code annotations, creating a cohesive experience across frameworks