Convert Figma logo to code with AI

nocodb logonocodb

πŸ”₯ πŸ”₯ πŸ”₯ Open Source Airtable Alternative

50,963
3,514
50,963
763

Top Related Projects

28,786

The flexible backend for all your projects 🐰 Turn your DB into a headless CMS, admin panels, or apps with a custom UI, instant APIs, auth & more.

46,550

Your backend, minus the hassle.

76,348

The open source Firebase alternative. Supabase gives you a dedicated Postgres database to build your web, mobile, and AI applications.

Airtable javascript client

64,719

πŸš€ Strapi is the leading open-source headless CMS. It’s 100% JavaScript/TypeScript, fully customizable, and developer-first.

Quick Overview

NocoDB is an open-source no-code platform that transforms any MySQL, PostgreSQL, SQL Server, SQLite, or MariaDB into a smart spreadsheet. It provides a user-friendly interface for creating and managing databases, with features similar to Airtable but with the added benefit of being self-hosted and offering more control over data.

Pros

  • Self-hosted solution, providing better data privacy and control
  • Compatible with multiple popular database systems
  • Offers a familiar spreadsheet-like interface for easy data management
  • Extensible with APIs, webhooks, and integrations

Cons

  • Requires some technical knowledge for initial setup and hosting
  • May have a steeper learning curve compared to fully managed no-code solutions
  • Limited customization options compared to traditional coding approaches
  • Performance may vary depending on the underlying database and server configuration

Getting Started

To get started with NocoDB, follow these steps:

  1. Install Docker on your system
  2. Run the following command to start NocoDB:
docker run -d --name nocodb -p 8080:8080 nocodb/nocodb:latest
  1. Open your browser and navigate to http://localhost:8080
  2. Sign up for a new account and start creating your projects

For more advanced setups or to use NocoDB with an existing database, refer to the official documentation at https://docs.nocodb.com/

Competitor Comparisons

28,786

The flexible backend for all your projects 🐰 Turn your DB into a headless CMS, admin panels, or apps with a custom UI, instant APIs, auth & more.

Pros of Directus

  • More extensive customization options and flexibility
  • Robust API-first approach with GraphQL support
  • Advanced role-based access control system

Cons of Directus

  • Steeper learning curve for beginners
  • Requires more server resources compared to NocoDB

Code Comparison

Directus (TypeScript):

const { Directus } = require('@directus/sdk');
const directus = new Directus('https://api.example.com');

async function fetchItems() {
  const items = await directus.items('articles').readByQuery({ limit: 5 });
  console.log(items);
}

NocoDB (JavaScript):

const { Api } = require('nocodb');
const api = new Api({ token: 'YOUR_TOKEN' });

async function fetchItems() {
  const items = await api.dbTable('articles').list({ limit: 5 });
  console.log(items);
}

Both Directus and NocoDB offer powerful no-code/low-code database solutions, but they cater to slightly different needs. Directus provides more advanced features and customization options, making it suitable for complex projects and experienced developers. NocoDB, on the other hand, offers a more user-friendly interface and easier setup, making it ideal for smaller projects or teams with less technical expertise. The code comparison shows that both platforms provide similar functionality for basic operations, with Directus using TypeScript and NocoDB using JavaScript.

46,550

Your backend, minus the hassle.

Pros of Appwrite

  • More comprehensive backend-as-a-service offering, including authentication, databases, storage, and serverless functions
  • Stronger focus on security features like encryption and access control
  • Better suited for building complex, scalable applications across multiple platforms

Cons of Appwrite

  • Steeper learning curve due to its broader feature set
  • May be overkill for simple projects that only require database functionality
  • Less focus on spreadsheet-like UI for data management

Code Comparison

Appwrite (JavaScript SDK):

const sdk = new Appwrite();
sdk
    .setEndpoint('https://[HOSTNAME_OR_IP]/v1')
    .setProject('[PROJECT_ID]');

const result = await sdk.database.createDocument('[COLLECTION_ID]', '[DOCUMENT_ID]', {});

NocoDB (REST API):

const response = await fetch('http://localhost:8080/api/v1/tables/[TABLE_NAME]/records', {
  method: 'POST',
  headers: { 'xc-auth': '[AUTH_TOKEN]' },
  body: JSON.stringify({ [COLUMN_NAME]: [VALUE] })
});

Both projects offer backend solutions, but Appwrite provides a more comprehensive set of features for building full-stack applications, while NocoDB focuses primarily on database management with a user-friendly interface.

76,348

The open source Firebase alternative. Supabase gives you a dedicated Postgres database to build your web, mobile, and AI applications.

Pros of Supabase

  • More comprehensive backend-as-a-service offering, including authentication, storage, and real-time subscriptions
  • Better documentation and community support
  • Stronger focus on developer experience with easy-to-use client libraries

Cons of Supabase

  • Less flexible for on-premises deployment compared to NocoDB
  • Steeper learning curve for developers new to PostgreSQL
  • More complex setup process for self-hosting

Code Comparison

Supabase (JavaScript):

const { data, error } = await supabase
  .from('users')
  .select('name, email')
  .eq('id', 123)

NocoDB (JavaScript):

const user = await api.dbTable('users').readByPk(123);

Both projects aim to simplify database operations, but Supabase offers a more SQL-like syntax, while NocoDB provides a more abstract API. Supabase's approach may be more familiar to developers with SQL experience, while NocoDB's API might be easier for those new to database operations.

Supabase is better suited for projects requiring a full backend solution with additional features like authentication and real-time subscriptions. NocoDB is more focused on providing a user-friendly interface for database management and may be a better choice for projects that prioritize simplicity and ease of use in database operations.

Airtable javascript client

Pros of airtable.js

  • Officially maintained by Airtable, ensuring compatibility and timely updates
  • Extensive documentation and examples for easy integration
  • Supports a wide range of Airtable-specific features and functionalities

Cons of airtable.js

  • Limited to Airtable's ecosystem, lacking flexibility for custom database solutions
  • Requires an Airtable account and may incur costs for advanced features
  • Less suitable for self-hosted or on-premise deployments

Code Comparison

airtable.js:

const Airtable = require('airtable');
const base = new Airtable({apiKey: 'YOUR_API_KEY'}).base('appXXXXXXXXXXXXXX');

base('Table').select({
  view: 'Grid view'
}).eachPage(function page(records, fetchNextPage) {
  // Process records
}, function done(err) {
  if (err) { console.error(err); return; }
});

NocoDB:

const { ApiClient } = require("nocodb");

const api = new ApiClient({
  baseURL: 'http://localhost:8080',
  headers: { 'xc-auth': 'YOUR_AUTH_TOKEN' }
});

api.dbTable('Table').list()
  .then(records => {
    // Process records
  })
  .catch(err => console.error(err));

Note: NocoDB is an open-source Airtable alternative, offering self-hosting capabilities and database flexibility. It provides similar functionality to Airtable but with more control over the infrastructure and data storage.

64,719

πŸš€ Strapi is the leading open-source headless CMS. It’s 100% JavaScript/TypeScript, fully customizable, and developer-first.

Pros of Strapi

  • More mature and established project with a larger community and ecosystem
  • Offers a plugin system for easy extensibility
  • Provides a user-friendly admin panel for content management

Cons of Strapi

  • Steeper learning curve, especially for complex setups
  • Requires more server resources compared to NocoDB
  • Less flexible in terms of database support (primarily focuses on SQL databases)

Code Comparison

Strapi (Creating a content type):

module.exports = {
  attributes: {
    title: {
      type: 'string',
      required: true
    },
    content: {
      type: 'richtext'
    }
  }
};

NocoDB (Creating a table):

CREATE TABLE posts (
  id INT PRIMARY KEY AUTO_INCREMENT,
  title VARCHAR(255) NOT NULL,
  content TEXT
);

Both NocoDB and Strapi are open-source projects aimed at simplifying backend development, but they have different approaches. Strapi is a headless CMS that provides a powerful admin panel and API generation, while NocoDB focuses on transforming any database into a smart spreadsheet with API capabilities.

Strapi offers more out-of-the-box features for content management and is better suited for complex applications. NocoDB, on the other hand, provides a more lightweight solution with a focus on database management and is easier to set up for simple projects.

The choice between the two depends on the specific needs of your project, such as the level of customization required, the complexity of your data model, and your team's familiarity with each tool's ecosystem.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

The Open Source Airtable Alternative

NocoDB is the fastest and easiest way to build databases online.

Website Ҁ’ Discord Ҁ’ Community Ҁ’ Twitter Ҁ’ Reddit Ҁ’ Documentation

video avi

See other languages »

Join Our Community

Stargazers repo roster for @nocodb/nocodb

Installation

Docker with SQLite

docker run -d \
  --name noco \
  -v "$(pwd)"/nocodb:/usr/app/data/ \
  -p 8080:8080 \
  nocodb/nocodb:latest

Docker with PG

docker run -d \
  --name noco \
  -v "$(pwd)"/nocodb:/usr/app/data/ \
  -p 8080:8080 \
  -e NC_DB="pg://host.docker.internal:5432?u=root&p=password&d=d1" \
  -e NC_AUTH_JWT_SECRET="569a1821-0a93-45e8-87ab-eb857f20a010" \
  nocodb/nocodb:latest

Auto-upstall

Auto-upstall is a single command that sets up NocoDB on a server for production usage. Behind the scenes it auto-generates docker-compose for you.

bash <(curl -sSL http://install.nocodb.com/noco.sh) <(mktemp)

Auto-upstall does the following: Γ°ΒŸΒ•ΒŠ

  • 🐳 Automatically installs all pre-requisites like docker, docker-compose
  • Γ°ΒŸΒšΒ€ Automatically installs NocoDB with PostgreSQL, Redis, Minio, Traefik gateway using Docker Compose. 🐘 Γ°ΒŸΒ—Β„Γ―ΒΈΒ 🌐
  • Γ°ΒŸΒ”Β„ Automatically upgrades NocoDB to the latest version when you run the command again.
  • Γ°ΒŸΒ”Β’ Automatically setups SSL and also renews it. Needs a domain or subdomain as input while installation.

install.nocodb.com/noco.sh script can be found here in our github

Other Methods

Binaries are only for quick testing locally.

Install MethodCommand to install
🍏 MacOS arm64
(Binary)
curl http://get.nocodb.com/macos-arm64 -o nocodb -L && chmod +x nocodb && ./nocodb
🍏 MacOS x64
(Binary)
curl http://get.nocodb.com/macos-x64 -o nocodb -L && chmod +x nocodb && ./nocodb
🐧 Linux arm64
(Binary)
curl http://get.nocodb.com/linux-arm64 -o nocodb -L && chmod +x nocodb && ./nocodb
🐧 Linux x64
(Binary)
curl http://get.nocodb.com/linux-x64 -o nocodb -L && chmod +x nocodb && ./nocodb
ðŸΒͺŸ Windows arm64
(Binary)
iwr http://get.nocodb.com/win-arm64.exe -OutFile Noco-win-arm64.exe && .\Noco-win-arm64.exe
ðŸΒͺŸ Windows x64
(Binary)
iwr http://get.nocodb.com/win-x64.exe -OutFile Noco-win-x64.exe && .\Noco-win-x64.exe

When running locally access nocodb by visiting: http://localhost:8080/dashboard

For more installation methods, please refer to our docs

Screenshots

2 3 4 5

5 7 8

8 9 10 11 12

Features

Rich Spreadsheet Interface

  • Қ‘ Β Basic Operations: Create, Read, Update and Delete Tables, Columns, and Rows
  • Қ‘ Β Fields Operations: Sort, Filter, Group, Hide / Unhide Columns
  • Қ‘ Β Multiple Views Types: Grid (By default), Gallery, Form, Kanban and Calendar View
  • Қ‘ Β View Permissions Types: Collaborative Views, & Locked Views
  • Қ‘ Β Share Bases / Views: either Public or Private (with Password Protected)
  • Қ‘ Β Variant Cell Types: ID, Links, Lookup, Rollup, SingleLineText, Attachment, Currency, Formula, User, etc
  • Қ‘ Β Access Control with Roles: Fine-grained Access Control at different levels
  • Қ‘ Β and more ...

App Store for Workflow Automations

We provide different integrations in three main categories. See App Store for details.

  • Қ‘ Β Chat: Slack, Discord, Mattermost, and etc
  • Қ‘ Β Email: AWS SES, SMTP, MailerSend, and etc
  • Қ‘ Β Storage: AWS S3, Google Cloud Storage, Minio, and etc

Programmatic Access

We provide the following ways to let users programmatically invoke actions. You can use a token (either JWT or Social Auth) to sign your requests for authorization to NocoDB.

  • Қ‘ Β REST APIs
  • Қ‘ Β NocoDB SDK

Contributing

Please refer to Contribution Guide.

Why are we building this?

Most internet businesses equip themselves with either spreadsheet or a database to solve their business needs. Spreadsheets are used by Billion+ humans collaboratively every single day. However, we are way off working at similar speeds on databases which are way more powerful tools when it comes to computing. Attempts to solve this with SaaS offerings have meant horrible access controls, vendor lock-in, data lock-in, abrupt price changes & most importantly a glass ceiling on what's possible in the future.

Our Mission

Our mission is to provide the most powerful no-code interface for databases that is open source to every single internet business in the world. This would not only democratise access to a powerful computing tool but also bring forth a billion+ people who will have radical tinkering-and-building abilities on the internet.

License

This project is licensed under AGPLv3.

Contributors

Thank you for your contributions! We appreciate all the contributions from the community.

NPM DownloadsLast 30 Days