NocoDB is a no-code database platform that allows teams to collaborate and build applications with ease of a familiar and intuitive spreadsheet interface. This allows even non-developers or business users to become software creators.
NocoDB is a no-code database platform that allows teams to collaborate and build applications with ease of a familiar and intuitive spreadsheet interface. This allows even non-developers or business users to become software creators.
NocoDB works by connecting to any relational database and transforming them into a smart spreadsheet interface! This allows you to build no-code applications collaboratively with teams. NocoDB currently works with MySQL, PostgreSQL, Microsoft SQL Server, SQLite, Amazon Aurora & MariaDB databases.
NocoDB works by connecting to any relational database and transforming them into a smart spreadsheet interface! This allows you to build no-code applications collaboratively with teams. NocoDB currently works with MySQL, PostgreSQL& SQLite (only in Open Source) databases.
Also NocoDB's app store allows you to build business workflows on views with combination of Slack, Microsoft Teams, Discord, Twilio, Whatsapp, Email & any 3rd party APIs too. Plus NocoDB provides programmatic access to APIs so that you can build integrations with Zapier / Integromat and custom applications too.
Also, NocoDB's app store allows you to build business workflows on views with combination of Slack, Microsoft Teams, Discord, Twilio, Whatsapp, Email & any 3rd party APIs too. Plus NocoDB provides programmatic access to APIs so that you can build integrations with Zapier / Integromat and custom applications too.
## Features
## Features
### Rich Spreadsheet Interface
### Rich Spreadsheet Interface
- ⚡ Basic Operations: Create, Read, Update and Delete on Tables, Columns, and Rows
- ⚡ Basic Operations: Create, Read, Update and Delete on Tables, Columns, and Records
- ⚡ Share Bases / Views: either Public or Private (with Password Protected)
- ⚡ Share Bases / Views: either Public or Private (with Password Protected)
- ⚡ Variant Cell Types: ID, LinkToAnotherRecord, Lookup, Rollup, SingleLineText, Attachment, Currency, Formula and etc
- ⚡ Variant Cell Types: ID, Links, Lookup, Rollup, SingleLineText, Attachment, Currency, Formula and etc
- ⚡ Access Control with Roles : Fine-grained Access Control at different levels
- ⚡ Access Control with Roles : Fine-grained Access Control at different levels
- ⚡ and more ...
- ⚡ and more ...
@ -52,13 +52,14 @@ We are keeping all the user operation logs under one place. See <a href="/data-s
Most internet businesses equip themselves with either spreadsheet or a database to solve their business needs. Spreadsheets are used by a 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 has meant horrible access controls, vendor lockin, data lockin, abrupt price changes & most importantly a glass ceiling on what's possible in the future.
Most internet businesses equip themselves with either spreadsheet or a database to solve their business needs. Spreadsheets are used by a 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 has meant horrible access controls, vendor lockin, data lockin, abrupt price changes & most importantly a glass ceiling on what's possible in the future.
## Our Mission
## Our Mission
Our mission is to provide the most powerful no-code interface for databases which 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 internet.
Our mission is to provide the most powerful no-code interface for databases which 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 internet.
## How can I contribute to NocoDB's development ?
## How can I contribute to NocoDB's development ?
Please refer to [here](https://github.com/nocodb/nocodb/blob/develop/.github/CONTRIBUTING.md) for the contribution guidelines.
Please refer to [here](https://github.com/nocodb/nocodb/blob/develop/.github/CONTRIBUTING.md) for the contribution guidelines.
@ -16,29 +16,23 @@ The layout below shows the main parts of NocoDB's user interface.
![image](/img/v2/layout-overview.png)
![image](/img/v2/layout-overview.png)
1. **Sidebar**: This component provides quick access to workspaces, bases, tables, and views, facilitating easy navigation within NocoDB. It serves as the central hub for organizing your data.
1. **Sidebar**: This component provides quick access to workspaces, bases, tables, and views, facilitating easy navigation within NocoDB.
2. **Navbar**: In the Navbar, you'll find essential tools like the Switcher, allowing users to switch between data and structure modes, and the Share button for collaborative workspace and view sharing. It streamlines your access to key functionalities.
2. **Navbar**: In the Navbar, you'll find essential tools like the Switcher, allowing users to switch between data mode and details mode, and the Share button for collaborative workspace and view sharing.
3. **Toolbar**: The Toolbar equips users with various tools to manage records within tables and views effectively. It includes features for sorting, filtering, and editing data, enhancing your control over information.
3. **Toolbar**: The Toolbar equips users with various tools to manage records within tables and views effectively. It includes features for sorting, filtering, and editing data, enhancing your control over information.
4. **View Area**: The central workspace where data can be viewed in multiple formats, enhancing flexibility. It empowers you to analyze and interact with your data the way that suits your needs best.
4. **View Area**: The central workspace where data can be viewed in multiple formats - Grid, Gallery, Kanban or Form.
5. **Footbar**: A pagination bar for navigating between record pages. It simplifies the process of exploring and accessing different segments of your data, enhancing overall usability.
5. **Footbar**: A pagination bar for navigating between paginated records.
[//]: # (1. Sidebar : Contains list of workspaces, bases, tables, views, etc. Helps you navigate between different work components of NocoDB. )
[//]: # (2. Navbar : Contains switcher & share button. Switcher helps you toggle between data mode and structure mode. Share button helps you share your workspace & views with other users.)
[//]: # (3. Toolbar : Contains various tools to help you manage records displayed in your tables, views, etc.)
[//]: # (4. View area : Core area where you can see your data in various views.)
[//]: # (5. Footbar : Pagination bar to help you navigate between pages of records.)
| Workspace | A workspace is a collection of one or more bases. It offers collaborative access to bases by enabling you to bring together interconnected tables, views, and various elements into a unified and organized entity |
| Workspace | A workspace is a collection of one or more bases. It offers collaborative access to bases by enabling you to bring together interconnected tables, views, and various elements into a unified and organized entity |
| Base | A base is a collection of one or more tables, often related and linked to one another. Alternative term `Project` |
| Base | A base is a collection of one or more tables, often related and linked to one another. Alternative term `Project` |
| Table | A base is housed in tables, where data is logically arranged into rows and columns. A base can have multiple tables |
| Table | A base is housed in tables, where data is logically arranged into rows and columns. A base can have multiple tables. Alternative term `Model` |
| Field | A field or column in a table is a container for values that share the same data type. Alternative term `Column` |
| Field | A field or column in a table is a container for values that share the same data type. Alternative term `Column` |
| Record | A record represents a row in a table. Alternative term `Row` |
| Record | A record represents a row in a table. Alternative term `Row` |
| View | A view defines how data within a table is presented and interacted with. Default view type is the grid view; other supported view types include form, gallery, and kanban views. |
| View | A view defines how data within a table is presented and interacted with. Default view type is the grid view; other supported view types include form, gallery, and kanban views. |
@ -47,3 +41,4 @@ The layout below shows the main parts of NocoDB's user interface.
| Workspace Owner | Member who had created workspace. There can be only one owner for a workspace & ownership is non-transferable |
| Workspace Owner | Member who had created workspace. There can be only one owner for a workspace & ownership is non-transferable |
| Base member | Base member with specific access permissions. Alternative term `Member``User` |
| Base member | Base member with specific access permissions. Alternative term `Member``User` |
| Base Owner | Member who had created base. There can be only one owner for a base & ownership is non-transferable |
| Base Owner | Member who had created base. There can be only one owner for a base & ownership is non-transferable |
| Modal | In the context of user interfaces, a modal is a type of dialog or overlay that appears on top of the main content or interface and requires user interaction before the user can proceed. Modals are often used to gather user input, display alerts, or confirm actions. They typically "block" the rest of the interface until the user dismisses them, making them a focused and attention-grabbing element |
Cmd+K (Ctrl+K on Windows) is a keyboard shortcut to quickly navigate to different a workspace, table, view, or a menu item. For example, if you want to quickly navigate to the "API Tokens" page item, you can open Quick Actions menu using ⌘+K, type "Token" in the search box and press enter.
Cmd+K (Ctrl+K on Windows) is a keyboard shortcut to quickly navigate between different workspace, table, view, or a menu items. For example, if you want to quickly navigate to the "API Tokens" page, you can open Quick Actions menu using ⌘+K, type "Token" in the search box and press enter.
This shortcut is often referred to as "Command-K". It's a great way to save time when you're navigating around NocoDB.
This shortcut is often referred to as "Command-K". It's a great way to save time when you're navigating around NocoDB.
@ -15,7 +15,7 @@ Command-K menu can also be accessed via the "Quick Actions" button in the top le
@ -17,25 +17,25 @@ For production use-cases, it is **recommended** to configure
| NC_DB | See our example database URLs [here](https://github.com/nocodb/nocodb#docker). | A local SQLite will be created in root folder if `NC_DB` is not provided |
| NC_DB | See our example database URLs [here](https://github.com/nocodb/nocodb#docker). | A local SQLite will be created in root folder if `NC_DB` is not provided |
| NC_DB_JSON | Can be used instead of `NC_DB` and value should be valid knex connection JSON | |
| NC_DB_JSON | Can be used instead of `NC_DB` and value should be valid knex connection JSON | |
| NC_DB_JSON_FILE | Can be used instead of `NC_DB` and value should be a valid path to knex connection JSON | |
| NC_DB_JSON_FILE | Can be used instead of `NC_DB` and value should be a valid path to knex connection JSON | |
| DATABASE_URL | JDBC URL Format. Can be used instead of NC_DB. | |
| DATABASE_URL | Can be used instead of `NC_DB` and value should be in JDBC URL format | |
| DATABASE_URL_FILE | Can be used instead of DATABASE_URL: path to file containing JDBC URL Format. | |
| DATABASE_URL_FILE | Can be used instead of `DATABASE_URL` and value should be a valid path to file containing JDBC URL format. | |
| NC_AUTH_JWT_SECRET | JWT secret used for auth and storing other secrets | A random secret will be generated |
| NC_AUTH_JWT_SECRET | JWT secret used for auth and storing other secrets | A random secret will be generated |
| NC_TOOL_DIR | App directory to keep metadata and app related files | Defaults to current working directory. In docker maps to `/usr/app/data/` for mounting volume. |
| NC_TOOL_DIR | App directory to keep metadata and app related files | Defaults to current working directory. In docker maps to `/usr/app/data/` for mounting volume. |
| NC_PUBLIC_URL | Used for sending Email invitations | Best guess from http request params |
| NC_PUBLIC_URL | Used for sending Email invitations | Best guess from http request params |
| NC_JWT_EXPIRES_IN | JWT token expiry time | `10h` |
| NC_JWT_EXPIRES_IN | JWT token expiry time | `10h` |
| NC_INVITE_ONLY_SIGNUP | Removed since version 0.99.0 and now it's recommended to use [super admin settings menu](/account-settings/oss-specific-details#enable--disable-signup). Allow users to signup only via invite url, value should be any non-empty string. | |
| NC_INVITE_ONLY_SIGNUP | Removed since version 0.99.0 and now it's recommended to use [super admin settings menu](/account-settings/oss-specific-details#enable--disable-signup). Allow users to signup only via invite URL, value should be any non-empty string. | |
| NUXT_PUBLIC_NC_BACKEND_URL | Custom Backend URL | ``http://localhost:8080`` will be used |
| NUXT_PUBLIC_NC_BACKEND_URL | Custom Backend URL | ``http://localhost:8080`` will be used |
| NC_REQUEST_BODY_SIZE | Request body size [limit](https://expressjs.com/en/resources/middleware/body-parser.html#limit) | `1048576` |
| NC_REQUEST_BODY_SIZE | Request body size [limit](https://expressjs.com/en/resources/middleware/body-parser.html#limit) | `1048576` |
| NC_EXPORT_MAX_TIMEOUT | After NC_EXPORT_MAX_TIMEOUT csv gets downloaded in batches | Default value 5000(in millisecond) will be used |
| NC_EXPORT_MAX_TIMEOUT | After NC_EXPORT_MAX_TIMEOUT, CSV gets downloaded in batches | Default value 5000(in millisecond) will be used |