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

#nocodb #no-code #vuejs #nodejs #monorepo #database-gui #open-source
PNGPDF

Project Directory

nocodb/
packages/
Core monorepo packages
nocodb/
The main backend engine
src/
Backend source code
package.json
nc-gui/
Main spreadsheet interface (Vue.js)
src/
Frontend source code
nocodb-sdk/
Official SDK
nc-lib-gui/
Shared frontend components
scripts/
Build and dev scripts
tests/
Global test suites
package.json
Root workspace file
pnpm-workspace.yaml

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.

Share this template

Related Templates

© 2025 FolderStructure.dev