DEV Community

Cover image for In 7 lines of node.js - you can turn any database into Airtable like spreadsheet using NocoDB!
o1lab
o1lab

Posted on • Edited on

In 7 lines of node.js - you can turn any database into Airtable like spreadsheet using NocoDB!

So what is Airtable ?

Airtable is a low-code platform for building collaborative apps. It works like a part spreadsheet & part database.

How are we going to turn any database into Airtable like spreadsheet ?

Using NocoDB

Ok, What is NocoDB ?

NocoDB - The Open Source Airtable

Now, show me the code!

(async () => {
    const server = require('express')();
    const {Noco} = require("nocodb");
    server.use(await Noco.init({}));
    console.log(`Visit : localhost:${process.env.PORT}/dashboard`)    
    server.listen(process.env.PORT);
})()

Enter fullscreen mode Exit fullscreen mode

Let's break down the 7 lines.

(async () => {
    // require express 
    const server = require('express')();

    // require nocodb
    const {Noco} = require("nocodb");

    // mount nocodb as a middleware
    server.use(await Noco.init({}));

    // print 
    console.log(`Visit : localhost:${process.env.PORT}/dashboard`)    

    // listen to a port 
    server.listen(process.env.PORT);
})()

Enter fullscreen mode Exit fullscreen mode

Yes, that is it - simple, minimalistic & boring. Like the way it should be while trying something new.

How does it work internally ?

  • NocoDB depends on a database to store metadata about projects or spreadsheets. This can be specified using NC_DB environment variable. If NC_DB is absent then NocoDB defaults to SQLite storing this metadata. - NocoDB Projects can be created in two ways - First, on NC_DB database itself. Second, by connecting to external database.

Screen Shot 2021-09-28 at 12.36.13

So how to try this quickly ?

You can get started with just one command.

npx create-nocodb-app
Enter fullscreen mode Exit fullscreen mode

or

docker run -d --name nocodb -p 8080:8080 nocodb/nocodb:latest
Enter fullscreen mode Exit fullscreen mode

Where can I find more about the project ?

Please find our github below -> you can fork it / star it / twist it / turn it

GitHub logo nocodb / nocodb

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

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
Enter fullscreen mode Exit fullscreen mode

Docker with PG

docker run -d --name noco 
           -v "$(pwd)"/nocodb:/usr/app/data/ 
           -p 8080:8080 
            # replace with your pg connection string
           -e NC_DB="pg://host.docker.internal:5432?u=root&p=password&d=d1" 
           # replace with a random secret
           -e NC_AUTH_JWT_SECRET="569a1821-0a93-45e8-87ab-eb857f20a010"  
           nocodb/nocodb:latest
Enter fullscreen mode Exit fullscreen mode

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)
Enter fullscreen mode Exit fullscreen mode

Auto-upstall does the following : πŸ•Š

  • 🐳 Automatically installs all pre-requisites like docker, docker-compose
  • πŸš€ Automatically installs NocoDB with PostgreSQL, Redis, Minio…

Excellent, so how to join NocoDB community ?

πŸ“£ Github : https://github.com/nocodb/nocodb
πŸ“£ Discord : https://discord.gg/5RgZmkW
πŸ“£ Twitter : https://twitter.com/nocodb

Also, do you have a video demo ?

We do!

Using npx

Using docker

Now, just happy hacking!

Top comments (5)

Collapse
 
calag4n profile image
calag4n • Edited

... any database ... => ... any SQL database ...

;)

Collapse
 
o1lab profile image
o1lab

Soon enough ;)

Collapse
 
calag4n profile image
calag4n

Really ? That'd be great !

Collapse
 
spiritupbro profile image
spiritupbro

this is so freaking cool

Collapse
 
o1lab profile image
o1lab

:)