NocoDB Project Structure
The open-source alternative to Airtable. NocoDB turns any database into a smart spreadsheet. Its architecture features a powerful Node.js core and a highly interactive Vue.js frontend, organized in a modern pnpm monorepo.
Updated 2025-12-30
Project Directory
Repository Info
- Repository-nocodb/nocodb
- Stars-45k+
- License-AGPL-3.0
- Last Analyzed-December 2025
Tech Stack
- Backend-Node.js (Express)
- Frontend-Vue.js / Nuxt
- Language-TypeScript / JavaScript
- Database Support-MySQL, PostgreSQL, SQLite, MS-SQL
- ORM-Knex.js
Architecture Notes
NocoDB is designed to be extremely portable, often distributed as a single Docker image or npm package. To achieve this, its monorepo structure is optimized for bundling. The nocodb package contains the core logic for database introspection and spreadsheet-like operations, while nc-gui handles the complex UI state required for the spreadsheet view. They use pnpm and Lerna to manage the internal dependencies and build process across the packages.
Key Directories
- packages/nocodb/-The core engine that handles database connectivity and metadata management
- packages/nc-gui/-A high-performance Vue application that mimics the Airtable user experience
- packages/nocodb-sdk/-Provides a type-safe way to interact with NocoDB programmatically
- packages/nc-lib-gui/-A shared library of UI elements used across the frontend applications
Why This Structure?
NocoDB is an excellent reference for building complex, data-heavy web applications. It shows how to manage a large Vue.js codebase alongside a robust Node.js backend. Its 'spreadsheet-as-an-interface' approach provides great insights into state management and performance optimization.