- [Why are we building this?](#---why-are-we-building-this-)
- [Why are we building this?](#why-are-we-building-this)
- [Our Mission](#--our-mission--)
- [Our Mission](#our-mission)
- [Contributors](#contributors-------------)
- [Contributors](#contributors)
# Features
# Features
### Rich Spreadsheet Interface
### Rich Spreadsheet Interface
@ -233,69 +233,19 @@ Please refer to [Environment variables](https://docs.nocodb.com/getting-started/
# Development Setup
# Development Setup
## Cloning the Project
Please refer to [Development Setup](https://github.com/nocodb/nocodb/tree/master#development-setup)
```shell
git clone https://github.com/nocodb/nocodb
```
## Running Backend locally
```shell
cd nocodb/packages/nocodb
npm install
npm run watch:run
# open localhost:8080/dashboard in browser
```
## Running Frontend locally
```shell
cd packages/nc-gui
npm install
npm run dev
# open localhost:3000/dashboard in browser
```
Changes made to code automatically restart.
> nocodb/packages/nocodb includes nc-lib-gui which is the built version of nc-gui hosted in npm registry. You can visit localhost:8000/dashboard in browser after starting the backend locally if you just want to modify the backend only.
## Running Cypress tests locally
```shell
# install dependencies(cypress)
npm install
# run mysql database with required database using docker compose
docker-compose -f ./scripts/docker-compose-cypress.yml up
# Run backend api using following command
npm run start:api
# Run frontend web UI using following command
npm run start:web
# wait until both 3000 and 8080 ports are available
# and run cypress test using following command
npm run cypress:run
# or run following command to run it with GUI
npm run cypress:open
```
# Contributing
# Contributing
Please refer to [Contribution Guide](https://github.com/nocodb/nocodb/blob/master/.github/CONTRIBUTING.md).
Please refer to [Contribution Guide](https://github.com/nocodb/nocodb/blob/master/.github/CONTRIBUTING.md).
# 🎯 Why are we building this?
# 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 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 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 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.
# Contributors : 🌻🌻🌻🐝🐝
# Contributors
[//]: contributor-faces
[//]: contributor-faces
<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
<ahref="https://www.producthunt.com/posts/nocodb?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-nocodb"target="_blank"><imgsrc="https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=297536&theme=dark"alt="NocoDB - The Open Source Airtable alternative | Product Hunt"style="width: 250px; height: 54px;"width="250"height="54"/></a>
<ahref="https://www.producthunt.com/posts/nocodb?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-nocodb"target="_blank"><imgsrc="https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=297536&theme=dark"alt="NocoDB - The Open Source Airtable alternative | Product Hunt"style="width: 250px; height: 54px;"width="250"height="54"/></a>
</p>
# 快速尝试
# 快速尝试
### 一键式部署
### 一键式部署
@ -49,7 +49,14 @@
docker run -d --name nocodb -p 8080:8080 nocodb/nocodb:latest
docker run -d --name nocodb -p 8080:8080 nocodb/nocodb:latest
```
```
> 要使用数据持久化,你可以挂载到 `/usr/app/data/`。
- NocoDB needs a database as input : See [Production Setup](https://github.com/nocodb/nocodb/blob/master/README.md#production-setup).
- 要使用数据持久化,你可以挂载到 `/usr/app/data/`。
示例:
```
docker run -d -p 8080:8080 --name nocodb -v /local/path:/usr/app/data/ nocodb/nocodb:latest
<ahref="https://www.producthunt.com/posts/nocodb?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-nocodb"target="_blank"><imgsrc="https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=297536&theme=dark"alt="NocoDB - The Open Source Airtable alternative | Product Hunt"style="width: 250px; height: 54px;"width="250"height="54"/></a>
<ahref="https://www.producthunt.com/posts/nocodb?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-nocodb"target="_blank"><imgsrc="https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=297536&theme=dark"alt="NocoDB - The Open Source Airtable alternative | Product Hunt"style="width: 250px; height: 54px;"width="250"height="54"/></a>
</p>
# Snel proberen
# Snel proberen
@ -51,7 +53,14 @@ Draait elke MySQL, PostgreSQL, SQL Server, SQLITE & MARIADB in een Smart-Spreads
docker run -d --name nocodb -p 8080:8080 nocodb/nocodb:latest
docker run -d --name nocodb -p 8080:8080 nocodb/nocodb:latest
```
```
> To persist data you can mount volume at `/usr/app/data/`.
- NocoDB needs a database as input : See [Production Setup](https://github.com/nocodb/nocodb/blob/master/README.md#production-setup).
- If this input is absent, we fallback to SQLite. In order too persist sqlite, you can mount `/usr/app/data/`.
Example:
```
docker run -d -p 8080:8080 --name nocodb -v /local/path:/usr/app/data/ nocodb/nocodb:latest
```
### Gebruik van NPM
### Gebruik van NPM
@ -77,8 +86,6 @@ Toegang tot dashboard met behulp van : [http://localhost:8080/dashboard](http://
| NC_DB | Yes | See our database URLs | A local SQLite will be created in root folder |
| DATABASE_URL | No | JDBC URL Format. Can be used instead of NC_DB. Used in 1-Click Heroku deployment | |
| DATABASE_URL_FILE | No | path to file containing JDBC URL Format. Can be used instead of NC_DB. Used in 1-Click Heroku deployment | |
| NC_PUBLIC_URL | Yes | Used for sending Email invitations | Best guess from http request params |
| NC_AUTH_JWT_SECRET | Yes | JWT secret used for auth and storing other secrets | A Random secret will be generated |
| NC_SENTRY_DSN | No | For Sentry monitoring | |
| NC_CONNECT_TO_EXTERNAL_DB_DISABLED | No | Disable Project creation with external database | |
| NC_DISABLE_TELE | No | Disable telemetry | |
| NC_BACKEND_URL | No | Custom Backend URL | `http://localhost:8080` will be used |
# Development setup
# Development setup
```
Please refer to [Development Setup](https://github.com/nocodb/nocodb/tree/master#development-setup)
git clone https://github.com/nocodb/nocodb
cd nocodb
# run backend
cd packages/nocodb
npm install
npm run watch:run
# open localhost:8080/dashboard in browser
# run frontend
cd packages/nc-gui
npm install
npm run dev
# open localhost:3000/dashboard in browser
```
Changes made to code automatically restart.
## Running Cypress tests locally
```shell
# install dependencies(cypress)
# install dependencies(cypress)
npm install
# run mysql database with required database using docker compose
docker-compose -f ./scripts/docker-compose-cypress.yml up
# Run backend api using following command
npm run start:api
# Run frontend web UI using following command
npm run start:web
# wait until both 3000 and 8080 ports are available
# and run cypress test using following command
npm run cypress:run
# or run following command to run it with GUI
npm run cypress:open
```
# Contributing
# Contributing
- Please take a look at ./scripts/contribute/HowToApplyLicense.md
Please refer to [Contribution Guide](https://github.com/nocodb/nocodb/blob/master/.github/CONTRIBUTING.md).
- Ignore adding headers for .json or .md or .yml
# 🎯 Waarom bouwen we dit?
# Waarom bouwen we dit?
De meeste internetbedrijven stellen zich uit met een spreadsheet of een database om hun bedrijfsbehoeften op te lossen. Spreadsheets worden gebruikt door een miljard + mensen die elke dag samenwerken. We zijn echter ver weg bij vergelijkbare snelheden op databases die veel krachtigere hulpmiddelen zijn als het gaat om het berekenen. Pogingen om dit op te lossen met SaaS-aanbiedingen heeft verschrikkelijke toegangscontroles, leverancierslongin, gegevensvergrendeling, abrupte prijsveranderingen en vooral een glazen plafond op wat in de toekomst mogelijk is.
De meeste internetbedrijven stellen zich uit met een spreadsheet of een database om hun bedrijfsbehoeften op te lossen. Spreadsheets worden gebruikt door een miljard + mensen die elke dag samenwerken. We zijn echter ver weg bij vergelijkbare snelheden op databases die veel krachtigere hulpmiddelen zijn als het gaat om het berekenen. Pogingen om dit op te lossen met SaaS-aanbiedingen heeft verschrikkelijke toegangscontroles, leverancierslongin, gegevensvergrendeling, abrupte prijsveranderingen en vooral een glazen plafond op wat in de toekomst mogelijk is.
# ❤ Onze missie :
# Onze missie
Onze missie is om de krachtigste NO-CODE-interface voor databases te bieden die open source is voor elke afzonderlijke internetactiviteiten in de wereld. Dit zou niet alleen de toegang tot een krachtige rekengereedschap democratiseren, maar ook een miljard + mensen voortbrengen die radicaal tinkerende en bouwmogelijkheden op internet hebben.
Onze missie is om de krachtigste NO-CODE-interface voor databases te bieden die open source is voor elke afzonderlijke internetactiviteiten in de wereld. Dit zou niet alleen de toegang tot een krachtige rekengereedschap democratiseren, maar ook een miljard + mensen voortbrengen die radicaal tinkerende en bouwmogelijkheden op internet hebben.
<ahref="https://www.producthunt.com/posts/nocodb?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-nocodb"target="_blank"><imgsrc="https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=297536&theme=dark"alt="NocoDB - The Open Source Airtable alternative | Product Hunt"style="width: 250px; height: 54px;"width="250"height="54"/></a>
<ahref="https://www.producthunt.com/posts/nocodb?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-nocodb"target="_blank"><imgsrc="https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=297536&theme=dark"alt="NocoDB - The Open Source Airtable alternative | Product Hunt"style="width: 250px; height: 54px;"width="250"height="54"/></a>
</p>
# Essayer rapidement
# Essayer rapidement
@ -49,6 +51,14 @@ Tournez n'importe quel MySQL, PostgreSQL, SQL Server, SQLite & Mariadb dans une
docker run -d --name nocodb -p 8080:8080 nocodb/nocodb:latest
docker run -d --name nocodb -p 8080:8080 nocodb/nocodb:latest
```
```
- NocoDB needs a database as input : See [Production Setup](https://github.com/nocodb/nocodb/blob/master/README.md#production-setup).
- If this input is absent, we fallback to SQLite. In order too persist sqlite, you can mount `/usr/app/data/`.
Example:
```
docker run -d -p 8080:8080 --name nocodb -v /local/path:/usr/app/data/ nocodb/nocodb:latest
```
> To persist data you can mount volume at `/usr/app/data/`.
> To persist data you can mount volume at `/usr/app/data/`.
### En utilisant npm
### En utilisant npm
@ -110,8 +120,6 @@ Accès au tableau de bord en utilisant : [http://localhost:8080/dashboard](http:
| NC_DB | Yes | See our database URLs | A local SQLite will be created in root folder |
| DATABASE_URL | No | JDBC URL Format. Can be used instead of NC_DB. Used in 1-Click Heroku deployment| |
| DATABASE_URL_FILE | No | path to file containing JDBC URL Format. Can be used instead of NC_DB. Used in 1-Click Heroku deployment| |
| NC_PUBLIC_URL | Yes | Used for sending Email invitations | Best guess from http request params |
| NC_AUTH_JWT_SECRET | Yes | JWT secret used for auth and storing other secrets | A Random secret will be generated |
| NC_SENTRY_DSN | No | For Sentry monitoring | |
| NC_CONNECT_TO_EXTERNAL_DB_DISABLED | No | Disable Project creation with external database | |
| NC_DISABLE_TELE | No | Disable telemetry | |
| NC_BACKEND_URL | No | Custom Backend URL | ``http://localhost:8080`` will be used |
# Paramétrage du développement
```
git clone https://github.com/nocodb/nocodb
cd nocodb
# run backend
cd packages/nocodb
npm install
npm run watch:run
# open localhost:8080/dashboard in browser
Please refer to [Environment variables](https://docs.nocodb.com/getting-started/installation#environment-variables)
# run frontend
# Paramétrage du développement
cd packages/nc-gui
npm install
npm run dev
# open localhost:3000/dashboard in browser
```
Changes made to code automatically restart.
## Exécuter des tests Cypress localement
```shell
# install dependencies(cypress)
npm install
# run mysql database with required database using docker compose
docker-compose -f ./scripts/docker-compose-cypress.yml up
# Run backend api using following command
npm run start:api
# Run frontend web UI using following command
npm run start:web
# wait until both 3000 and 8080 ports are available
# and run cypress test using following command
npm run cypress:run
# or run following command to run it with GUI
Please refer to [Development Setup](https://github.com/nocodb/nocodb/tree/master#development-setup)
npm run cypress:open
```
# Contribuant
# Contribuant
- S'il vous plaît jeter un oeil à ./scripts/contribute/HowToApplyLicense.md
- Ignorer l'ajout d'en-têtes pour .json or .md or .yml
# 🎯 Pourquoi construisons-nous cela ?
Please refer to [Contribution Guide](https://github.com/nocodb/nocodb/blob/master/.github/CONTRIBUTING.md).
# Pourquoi construisons-nous cela?
La plupart des entreprises Internet s'équipent d'un tableur ou d'une base de données pour répondre à leurs besoins commerciaux. Les feuilles de calcul sont utilisées par plus d'un milliard d'humains en collaboration chaque jour. Cependant, nous sommes loin de travailler à des vitesses similaires sur des bases de données qui sont des outils beaucoup plus puissants en matière de calcul. Les tentatives pour résoudre ce problème avec les offres SaaS ont entraîné des contrôles d'accès horribles, le verrouillage des fournisseurs, le verrouillage des données, des changements de prix brusques et, surtout, un plafond de verre sur ce qui est possible à l'avenir.
La plupart des entreprises Internet s'équipent d'un tableur ou d'une base de données pour répondre à leurs besoins commerciaux. Les feuilles de calcul sont utilisées par plus d'un milliard d'humains en collaboration chaque jour. Cependant, nous sommes loin de travailler à des vitesses similaires sur des bases de données qui sont des outils beaucoup plus puissants en matière de calcul. Les tentatives pour résoudre ce problème avec les offres SaaS ont entraîné des contrôles d'accès horribles, le verrouillage des fournisseurs, le verrouillage des données, des changements de prix brusques et, surtout, un plafond de verre sur ce qui est possible à l'avenir.
# ❤ Notre mission :
# Notre mission
Notre mission est de fournir l'interface sans code la plus puissante pour les bases de données qui soit open source pour chaque entreprise Internet dans le monde. Cela démocratiserait non seulement l'accès à un outil informatique puissant, mais ferait également émerger plus d'un milliard de personnes qui auront des capacités radicales de bricolage et de construction sur Internet.
Notre mission est de fournir l'interface sans code la plus puissante pour les bases de données qui soit open source pour chaque entreprise Internet dans le monde. Cela démocratiserait non seulement l'accès à un outil informatique puissant, mais ferait également émerger plus d'un milliard de personnes qui auront des capacités radicales de bricolage et de construction sur Internet.
<ahref="https://www.producthunt.com/posts/nocodb?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-nocodb"target="_blank"><imgsrc="https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=297536&theme=dark"alt="NocoDB - The Open Source Airtable alternative | Product Hunt"style="width: 250px; height: 54px;"width="250"height="54"/></a>
<ahref="https://www.producthunt.com/posts/nocodb?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-nocodb"target="_blank"><imgsrc="https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=297536&theme=dark"alt="NocoDB - The Open Source Airtable alternative | Product Hunt"style="width: 250px; height: 54px;"width="250"height="54"/></a>
</p>
# Schneller Try.
# Schneller Try
### 1-Click Deploy
### 1-Click Deploy
@ -45,21 +47,28 @@ Verwandelt jeden MySQL, PostgreSQL, SQL Server, SQLite & Mariadb in eine Smart-T
</a>
</a>
<br>
<br>
### Verwenden von Docker.
### Verwenden von Docker
```bash
```bash
docker run -d --name nocodb -p 8080:8080 nocodb/nocodb:latest
docker run -d --name nocodb -p 8080:8080 nocodb/nocodb:latest
```
```
> To persist data you can mount volume at `/usr/app/data/`.
- NocoDB needs a database as input : See [Production Setup](https://github.com/nocodb/nocodb/blob/master/README.md#production-setup).
- If this input is absent, we fallback to SQLite. In order too persist sqlite, you can mount `/usr/app/data/`.
### Verwenden von NPM.
Example:
```
docker run -d -p 8080:8080 --name nocodb -v /local/path:/usr/app/data/ nocodb/nocodb:latest
```
### Verwenden von NPM
```
```
npx create-nocodb-app
npx create-nocodb-app
```
```
### Mit git.
### Mit git
```
```
git clone https://github.com/nocodb/nocodb-seed
git clone https://github.com/nocodb/nocodb-seed
@ -127,7 +136,7 @@ Zugriff auf Dashboard mit. : [http://localhost:8080/dashboard](http://localhost:
| NC_DB | Yes | See our database URLs | A local SQLite will be created in root folder |
| DATABASE_URL | No | JDBC URL Format. Kann statt NC_DB genutzt werden. Wird im 1-Click Heroku deployment genutzt. | |
| DATABASE_URL_FILE | No | path to file containing JDBC URL Format. Can be used instead of NC_DB. Used in 1-Click Heroku deployment | |
| NC_PUBLIC_URL | Yes | Wird für Einladungen per Mail genutzt | Best guess from http request params |
| NC_AUTH_JWT_SECRET | Yes | JWT secret used for auth and storing other secrets | A Random secret will be generated |
| NC_SENTRY_DSN | No | For Sentry monitoring | |
| NC_CONNECT_TO_EXTERNAL_DB_DISABLED | No | Disable Project creation with external database | |
| NC_DISABLE_TELE | No | Disable telemetry | |
| NC_BACKEND_URL | No | Custom Backend URL | `http://localhost:8080` will be used |
# Entwicklungsaufbau
# Entwicklungsaufbau
```
Please refer to [Development Setup](https://github.com/nocodb/nocodb/tree/master#development-setup)
git clone https://github.com/nocodb/nocodb
cd nocodb
# run backend
cd packages/nocodb
npm install
npm run watch:run
# open localhost:8080/dashboard in browser
# run frontend
cd packages/nc-gui
npm install
npm run dev
# open localhost:3000/dashboard in browser
```
Changes made to code automatically restart.
## Cypress-Tests lokal ausführen
```shell
# install dependencies(cypress)
npm install
# run mysql database with required database using docker compose
docker-compose -f ./scripts/docker-compose-cypress.yml up
# Run backend api using following command
npm run start:api
# Run frontend web UI using following command
npm run start:web
# wait until both 3000 and 8080 ports are available
# and run cypress test using following command
npm run cypress:run
# or run following command to run it with GUI
npm run cypress:open
```
# Beitragen
# Beitragen
- Bitte schau mal rein ./scripts/contribute/HowToApplyLicense.md
Please refer to [Contribution Guide](https://github.com/nocodb/nocodb/blob/master/.github/CONTRIBUTING.md).
- Ignorieren Sie das Hinzufügen von Überschriften für .json oder .md oder .yml
# 🎯 Warum bauen wir das auf?
# Warum bauen wir das auf?
Die meisten Internet-Unternehmen rüsten sich mit einer Tabelle oder einer Datenbank aus, um ihre Geschäftsanforderungen zu lösen. Die Tabellenkalkulationen werden von einer Milliarde + Menschen mit einem jeden Tag kollaborativ verwendet. Wir arbeiten jedoch mit ähnlichen Geschwindigkeiten in Datenbanken, die in Bezug auf das Berechnen viel stärkere Werkzeuge sind. Versuche, dies mit SaaS-Angeboten zu lösen, bedeutete schreckliche Zugangskontrollen, Anbieter-Lockin, Daten-Lockin, abrupte Preisänderungen und vor allem eine Glaskugel, was in Zukunft möglich ist.
Die meisten Internet-Unternehmen rüsten sich mit einer Tabelle oder einer Datenbank aus, um ihre Geschäftsanforderungen zu lösen. Die Tabellenkalkulationen werden von einer Milliarde + Menschen mit einem jeden Tag kollaborativ verwendet. Wir arbeiten jedoch mit ähnlichen Geschwindigkeiten in Datenbanken, die in Bezug auf das Berechnen viel stärkere Werkzeuge sind. Versuche, dies mit SaaS-Angeboten zu lösen, bedeutete schreckliche Zugangskontrollen, Anbieter-Lockin, Daten-Lockin, abrupte Preisänderungen und vor allem eine Glaskugel, was in Zukunft möglich ist.
# ❤ Unsere Aufgabe :
# Unsere Aufgabe
Unsere Mission ist es, die leistungsstärkste No-Code-Schnittstelle für Datenbanken bereitzustellen, die für jedes einzelne Internetgeschäft der Welt nutzbar ist. Dies würde nicht nur den Zugang zu einem leistungsstarken Computing-Tool demokratisieren, sondern auch eine Milliarde + Menschen hervorbringen, die im Internet radikale Bastel- und Baufähigkeiten haben werden.
Unsere Mission ist es, die leistungsstärkste No-Code-Schnittstelle für Datenbanken bereitzustellen, die für jedes einzelne Internetgeschäft der Welt nutzbar ist. Dies würde nicht nur den Zugang zu einem leistungsstarken Computing-Tool demokratisieren, sondern auch eine Milliarde + Menschen hervorbringen, die im Internet radikale Bastel- und Baufähigkeiten haben werden.
<ahref="https://www.producthunt.com/posts/nocodb?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-nocodb"target="_blank"><imgsrc="https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=297536&theme=dark"alt="NocoDB - The Open Source Airtable alternative | Product Hunt"style="width: 250px; height: 54px;"width="250"height="54"/></a>
<ahref="https://www.producthunt.com/posts/nocodb?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-nocodb"target="_blank"><imgsrc="https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=297536&theme=dark"alt="NocoDB - The Open Source Airtable alternative | Product Hunt"style="width: 250px; height: 54px;"width="250"height="54"/></a>
</p>
# Mulai Cepat
# Mulai Cepat
@ -45,21 +47,28 @@ Mengubah MySQL, PostgreSQL, SQL Server, SQLite & MariaDB apapun menjadi spreadsh
</a>
</a>
<br>
<br>
### Menggunakan Docker.
### Menggunakan Docker
```bash
```bash
docker run -d --name nocodb -p 8080:8080 nocodb/nocodb:latest
docker run -d --name nocodb -p 8080:8080 nocodb/nocodb:latest
```
```
> To persist data you can mount volume at `/usr/app/data/`.
- NocoDB needs a database as input : See [Production Setup](https://github.com/nocodb/nocodb/blob/master/README.md#production-setup).
- If this input is absent, we fallback to SQLite. In order too persist sqlite, you can mount `/usr/app/data/`.
### Menggunakan NPM.
Example:
```
docker run -d -p 8080:8080 --name nocodb -v /local/path:/usr/app/data/ nocodb/nocodb:latest
```
### Menggunakan NPM
```
```
npx create-nocodb-app
npx create-nocodb-app
```
```
### Menggunakan git.
### Menggunakan git
```
```
git clone https://github.com/nocodb/nocodb-seed
git clone https://github.com/nocodb/nocodb-seed
@ -126,7 +135,7 @@ Akses dasbor menggunakan : [http://localhost:8080/dashboard](http://localhost:80
| NC_DB | Iya | Lihat URL basis data kami | SQLite lokal akan dibuat di folder root |
| DATABASE_URL | Tidak | Format JDBC URL. Dapat digunakan sebagai pengganti NC_DB. Digunakan dalam 1-Klik Deployment | |
| DATABASE_URL_FILE | Tidak | path ke file yang berisi Format URL JDBC. Dapat digunakan sebagai pengganti NC_DB. Digunakan dalam penyebaran 1-Klik Heroku Deployment | |
| NC_PUBLIC_URL | Iya | Digunakan untuk mengirim undangan Email | Tebakan terbaik dari params permintaan http |
| NC_AUTH_JWT_SECRET | Iya | Rahasia JWT digunakan untuk auth dan menyimpan rahasia lainnya | Rahasia acak akan dibuat |
| NC_SENTRY_DSN | Tidak | Untuk pemantauan Penjaga | |
| NC_CONNECT_TO_EXTERNAL_DB_DISABLED | Tidak | Nonaktifkan pembuatan Proyek dengan database eksternal | |
| NC_DISABLE_TELE | Tidak | Nonaktifkan telemetry | |
| NC_BACKEND_URL | Tidak | Backend URL Khusus | `http://localhost:8080` akan digunakan |
# Pengaturan Pengembangan
# Pengaturan Pengembangan
```
Please refer to [Development Setup](https://github.com/nocodb/nocodb/tree/master#development-setup)
git clone https://github.com/nocodb/nocodb
cd nocodb
# run backend
cd packages/nocodb
npm install
npm run watch:run
# open localhost:8080/dashboard in browser
# run frontend
cd packages/nc-gui
npm install
npm run dev
# open localhost:3000/dashboard in browser
```
Perubahan yang dibuat pada kode akan dimulai ulang secara otomatis.
## Menjalankan tes Cypress secara Lokal
```shell
# install dependencies(cypress)
npm install
# run mysql database with required database using docker compose
docker-compose -f ./scripts/docker-compose-cypress.yml up
# Run backend api using following command
npm run start:api
# Run frontend web UI using following command
npm run start:web
# wait until both 3000 and 8080 ports are available
Please refer to [Contribution Guide](https://github.com/nocodb/nocodb/blob/master/.github/CONTRIBUTING.md).
- Abaikan penambahan headers untuk .json or .md or .yml
# 🎯 Kenapa kita membangun ini?
# Kenapa kita membangun ini?
Sebagian besar bisnis internet melengkapi diri mereka dengan spreadsheet atau database untuk menyelesaikan kebutuhan bisnis mereka. Spreadsheet digunakan oleh satu miliar + manusia secara kolaboratif setiap hari. Namun, kami jauh bekerja dengan kecepatan yang sama pada basis data yang merupakan alat yang lebih kuat ketika datang ke komputasi. Upaya untuk menyelesaikan ini dengan persembahan SaaS berarti kontrol akses yang mengerikan, vendor lockin, data lockin, perubahan harga mendadak & paling penting plafon kaca pada apa yang mungkin di masa depan.
Sebagian besar bisnis internet melengkapi diri mereka dengan spreadsheet atau database untuk menyelesaikan kebutuhan bisnis mereka. Spreadsheet digunakan oleh satu miliar + manusia secara kolaboratif setiap hari. Namun, kami jauh bekerja dengan kecepatan yang sama pada basis data yang merupakan alat yang lebih kuat ketika datang ke komputasi. Upaya untuk menyelesaikan ini dengan persembahan SaaS berarti kontrol akses yang mengerikan, vendor lockin, data lockin, perubahan harga mendadak & paling penting plafon kaca pada apa yang mungkin di masa depan.
# ❤ Misi kita :
# Misi kita
Misi kami adalah menyediakan antarmuka tanpa kode yang paling kuat untuk basis data yang merupakan sumber terbuka untuk setiap bisnis internet di dunia. Ini tidak hanya akan mendemokratisasi akses ke alat komputasi yang kuat tetapi juga memunculkan satu miliar + orang yang akan memiliki kemampuan mengotori-dan membangun radikal di Internet.
Misi kami adalah menyediakan antarmuka tanpa kode yang paling kuat untuk basis data yang merupakan sumber terbuka untuk setiap bisnis internet di dunia. Ini tidak hanya akan mendemokratisasi akses ke alat komputasi yang kuat tetapi juga memunculkan satu miliar + orang yang akan memiliki kemampuan mengotori-dan membangun radikal di Internet.
<ahref="https://www.producthunt.com/posts/nocodb?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-nocodb"target="_blank"><imgsrc="https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=297536&theme=dark"alt="NocoDB - The Open Source Airtable alternative | Product Hunt"style="width: 250px; height: 54px;"width="250"height="54"/></a>
<ahref="https://www.producthunt.com/posts/nocodb?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-nocodb"target="_blank"><imgsrc="https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=297536&theme=dark"alt="NocoDB - The Open Source Airtable alternative | Product Hunt"style="width: 250px; height: 54px;"width="250"height="54"/></a>
</p>
# Prova veloce
# Prova veloce
### 1-Click Deploy
### 1-Click Deploy
@ -45,21 +46,28 @@ Trasforma qualsiasi MySQL, PostgreSQL, SQL Server, SQLite & Mariadb in un foglio
</a>
</a>
<br>
<br>
### Con Docker.
### Con Docker
```bash
```bash
docker run -d --name nocodb -p 8080:8080 nocodb/nocodb:latest
docker run -d --name nocodb -p 8080:8080 nocodb/nocodb:latest
```
```
> Per rendere persistenti i dati puoi montare il volume su `/usr/app/data/`.
- NocoDB needs a database as input : See [Production Setup](https://github.com/nocodb/nocodb/blob/master/README.md#production-setup).
- Per rendere persistenti i dati puoi montare il volume su `/usr/app/data/`.
Example:
```
docker run -d -p 8080:8080 --name nocodb -v /local/path:/usr/app/data/ nocodb/nocodb:latest
```
### Con NPM.
### Con NPM
```
```
npx create-nocodb-app
npx create-nocodb-app
```
```
### Con git.
### Con git
```
```
git clone https://github.com/nocodb/nocodb-seed
git clone https://github.com/nocodb/nocodb-seed
@ -129,7 +137,7 @@ Accedi al Pannello di Controllo visitando: [http://localhost:8080/dashboard](htt
| NC_DB | Si | Visualizza gli URLs del nostro database. | Un BD SQLite verrà creato nella cartella principale |
| DATABASE_URL | No | Formato URL JDBC. Può essere utilizzato in alternativa a NC_DB. Utilizzato nell'installazione 1-Click con Heroku | |
| DATABASE_URL_FILE | No | Path per i file contenenti gli URL JDBC. Può essere utilizzato in alternativa a NC_DB. Utilizzato nell'installazione 1-Click con Heroku | |
| NC_PUBLIC_URL | Si | Per inviare inviti via mail | Autogenerato dai parametri delle richieste http |
| NC_AUTH_JWT_SECRET | Si | Segreto JWT utilizzato per l'autenticazione e la memorizzazione di altri segreti | Sarà generato un segreto in maniera randomica |
| NC_SENTRY_DSN | No | Per il monitoraggio con Sentry | |
| NC_CONNECT_TO_EXTERNAL_DB_DISABLED | No | Disabilita la creazione di Progetti con database esterni | |
| NC_DISABLE_TELE | No | Disabilita la telemetria | |
| NC_BACKEND_URL | No | URL di Backend Personalizzato | Sarà utilizato `http://localhost:8080` |
# Setup di sviluppo
```
git clone https://github.com/nocodb/nocodb
cd nocodb
# run backend
cd packages/nocodb
npm install
npm run watch:run
# apre localhost:8080/dashboard nel browser
# run frontend
cd packages/nc-gui
npm install
npm run dev
# apre localhost:3000/dashboard nel browser
```
Modifiche al codice generano un riavvio automatico.
## Utilizzare i test Cypress in locale
```shell
# Setup di sviluppo
# installa le dipendenze (Cypress)
npm install
# eseguire il database mysql con il database richiesto utilizzando docker compose
docker-compose -f ./scripts/docker-compose-cypress.yml up
# Esegui l'API di backend usando il seguente comando
npm run start:api
# Esegui l'interfaccia utente web frontend usando il seguente comando
npm run start:web
# attendi la disponibilità delle porte 3000 e 8080
# ed esegui Cypress con il seguente comando:
npm run cypress:run
# o esegui questo comando per avviarlo con l'interfaccia grafica
Please refer to [Development Setup](https://github.com/nocodb/nocodb/tree/master#development-setup)
npm run cypress:open
```
# Contributi
# Contributi
- Leggi ./scripts/contribute/HowToApplyLicense.md
Please refer to [Contribution Guide](https://github.com/nocodb/nocodb/blob/master/.github/CONTRIBUTING.md).
- Ignora l'aggiunta di header per .json, .md o .yml
# 🎯 Perché lo abbiamo creato?
# Perché lo abbiamo creato?
La maggior parte delle aziende utilizza fogli di calcolo o database per le proprie esigenze aziendali. I fogli di calcolo vengono utilizzati da oltre un miliardo di persone in modo collaborativo ogni singolo giorno. Tuttavia, i database che sono strumenti molto più potenti quando si tratta di elaborazione. I tentativi di risolvere questo problema con le offerte SaaS hanno significato orribili controlli di accesso, blocco del fornitore, blocco dei dati, brusche variazioni di prezzo e, soprattutto, un soffitto di vetro su ciò che è possibile in futuro.
La maggior parte delle aziende utilizza fogli di calcolo o database per le proprie esigenze aziendali. I fogli di calcolo vengono utilizzati da oltre un miliardo di persone in modo collaborativo ogni singolo giorno. Tuttavia, i database che sono strumenti molto più potenti quando si tratta di elaborazione. I tentativi di risolvere questo problema con le offerte SaaS hanno significato orribili controlli di accesso, blocco del fornitore, blocco dei dati, brusche variazioni di prezzo e, soprattutto, un soffitto di vetro su ciò che è possibile in futuro.
# ❤ La nostra missione:
# La nostra missione
La nostra missione è creare la più potente interfaccia per database "senza codice", disponibile a codice libero per ogni azienda nel mondo. Lo facciamo non solo per democratizzare l'accesso ad un potente strumento di elaborazione, ma anche per supportare i miliardi di persone che creano e costruiscono su Internet.
La nostra missione è creare la più potente interfaccia per database "senza codice", disponibile a codice libero per ogni azienda nel mondo. Lo facciamo non solo per democratizzare l'accesso ad un potente strumento di elaborazione, ma anche per supportare i miliardi di persone che creano e costruiscono su Internet.
<ahref="https://www.producthunt.com/posts/nocodb?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-nocodb"target="_blank"><imgsrc="https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=297536&theme=dark"alt="NocoDB - The Open Source Airtable alternative | Product Hunt"style="width: 250px; height: 54px;"width="250"height="54"/></a>
<ahref="https://www.producthunt.com/posts/nocodb?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-nocodb"target="_blank"><imgsrc="https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=297536&theme=dark"alt="NocoDB - The Open Source Airtable alternative | Product Hunt"style="width: 250px; height: 54px;"width="250"height="54"/></a>
<ahref="https://www.producthunt.com/posts/nocodb?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-nocodb"target="_blank"><imgsrc="https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=297536&theme=dark"alt="NocoDB - The Open Source Airtable alternative | Product Hunt"style="width: 250px; height: 54px;"width="250"height="54"/></a>
<ahref="https://www.producthunt.com/posts/nocodb?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-nocodb"target="_blank"><imgsrc="https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=297536&theme=dark"alt="NocoDB - The Open Source Airtable alternative | Product Hunt"style="width: 250px; height: 54px;"width="250"height="54"/></a>
| `NC_DB` | Yes | 제품이 사용할 데이터베이스 URL | 루트 디렉터리에 SQLite DB 생성 |
| `DATABASE_URL` | No | JDBC URL 형식. `NC_DB` 대신 사용 가능. Heroku 원클릭 배포에 사용 | |
| `DATABASE_URL_FILE` | No | JDBC URL을 담은 파일의 경로. `NC_DB` 대신 사용 가능. Heroku 원클릭 배포에 사용 | |
| `NC_PUBLIC_URL` | Yes | 이메일 초대에 사용 | HTTP 요청 파라미터를 통해 추정 |
| `NC_AUTH_JWT_SECRET` | Yes | 인증 및 다른 비밀 값을 저장할 때 사용할 JWT 시크릿 키 | 임의의 시크릿 키 생성 |
| `NC_SENTRY_DSN` | No | Sentry 모니터링용 | |
| `NC_CONNECT_TO_EXTERNAL_DB_DISABLED` | No | 외부 데이터베이스와 연동된 프로젝트를 생성하지 않음 | |
| `NC_DISABLE_TELE` | No | 사용 정보를 수집하지 않음 | |
| `NC_BACKEND_URL` | No | 커스텀 백엔드 URL | `http://localhost:8080` 사용 |
# 개발 환경에 설치하기
# 개발 환경에 설치하기
```shell
Please refer to [Development Setup](https://github.com/nocodb/nocodb/tree/master#development-setup)
git clone https://github.com/nocodb/nocodb
cd nocodb
# 백엔드 실행
cd packages/nocodb
npm install
npm run watch:run
# 브라우저에서 localhost:8080/dashboard 열기
# 프론트엔드 실행
cd packages/nc-gui
npm install
npm run dev
# 브라우저에서 localhost:3000/dashboard 열기
```
코드 변경후 자동으로 재시작됩니다.
## 로컬에서 Cypress 테스트 돌리기
```shell
# 의존성(cypress) 설치
npm install
# docker compose를 사용하여 필요한 데이터베이스로 mysql 데이터베이스 실행
docker-compose -f ./scripts/docker-compose-cypress.yml up
# 다음 명령을 사용하여 백엔드 API 실행
npm run start:api
# 다음 명령을 사용하여 프론트엔드 웹 UI 실행
npm run start:web
# 3000 포트와 8080 포트가 모두 열릴 때까지 대기
# 이후 다음 명령으로 cypress 실행
npm run cypress:run
# 또는 다음 명령으로 GUI로 실행
npm run cypress:open
```
# 기여하기
# 기여하기
- 먼저 `./scripts/contribute/HowToApplyLicense.md`를 읽기
Please refer to [Contribution Guide](https://github.com/nocodb/nocodb/blob/master/.github/CONTRIBUTING.md).
- `.json`, `.md`, `.yml` 파일에는 헤더를 추가하지 않아도 됨
# 🎯 왜 이걸 만들었나요?
# 왜 이걸 만들었나요?
대부분의 인터넷 비즈니스는 업무상의 요구사항을 해결하기 위해 스프레드시트 또는 데이터베이스를 사용합니다. 스프레드시트는 매일 하루에 수십억 명 이상이 함께 사용합니다. 그러나 우리는 컴퓨팅에 관한 한 훨씬 강력한 도구인 데이터베이스는 별로 그만큼 사용하고 있지 않습니다. 이 문제를 SaaS로 해결하려는 시도는 끔찍한 접근 통제, 특정 업체 종속, 데이터 종속, 급격한 가격 변동, 그리고 무엇보다도 미래의 가능성을 스스로 가둬버리는 것을 의미합니다.
대부분의 인터넷 비즈니스는 업무상의 요구사항을 해결하기 위해 스프레드시트 또는 데이터베이스를 사용합니다. 스프레드시트는 매일 하루에 수십억 명 이상이 함께 사용합니다. 그러나 우리는 컴퓨팅에 관한 한 훨씬 강력한 도구인 데이터베이스는 별로 그만큼 사용하고 있지 않습니다. 이 문제를 SaaS로 해결하려는 시도는 끔찍한 접근 통제, 특정 업체 종속, 데이터 종속, 급격한 가격 변동, 그리고 무엇보다도 미래의 가능성을 스스로 가둬버리는 것을 의미합니다.
# ❤ 우리의 사명
# 우리의 사명
우리의 사명은 이 세상의 모든 인터넷 비즈니스를 위해 가장 강력한 노코드(No-Code) 데이터베이스 인터페이스를 오픈소스로 제공하는 것입니다. 이는 단지 강력한 컴퓨팅 도구를 대중화하는 데 그치는 것이 아니라, 인터넷 상에서 뭐든 이어붙이고 만들 수 있는 급진적인 능력을 수십억 사람들에게 가져다주게 될 것입니다.
우리의 사명은 이 세상의 모든 인터넷 비즈니스를 위해 가장 강력한 노코드(No-Code) 데이터베이스 인터페이스를 오픈소스로 제공하는 것입니다. 이는 단지 강력한 컴퓨팅 도구를 대중화하는 데 그치는 것이 아니라, 인터넷 상에서 뭐든 이어붙이고 만들 수 있는 급진적인 능력을 수십억 사람들에게 가져다주게 될 것입니다.
<ahref="https://www.producthunt.com/posts/nocodb?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-nocodb"target="_blank"><imgsrc="https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=297536&theme=dark"alt="NocoDB - The Open Source Airtable alternative | Product Hunt"style="width: 250px; height: 54px;"width="250"height="54"/></a>
<ahref="https://www.producthunt.com/posts/nocodb?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-nocodb"target="_blank"><imgsrc="https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=297536&theme=dark"alt="NocoDB - The Open Source Airtable alternative | Product Hunt"style="width: 250px; height: 54px;"width="250"height="54"/></a>
</p>
# Experimente rápida
# Experimente rápida
@ -51,7 +53,14 @@ Transforma qualquer MySQL, PostgreSQL, SQL Server, Sqlite e MariaDB em uma plani
docker run -d --name nocodb -p 8080:8080 nocodb/nocodb:latest
docker run -d --name nocodb -p 8080:8080 nocodb/nocodb:latest
```
```
> To persist data you can mount volume at `/usr/app/data/`.
- NocoDB needs a database as input : See [Production Setup](https://github.com/nocodb/nocodb/blob/master/README.md#production-setup).
- If this input is absent, we fallback to SQLite. In order too persist sqlite, you can mount `/usr/app/data/`.
Example:
```
docker run -d -p 8080:8080 --name nocodb -v /local/path:/usr/app/data/ nocodb/nocodb:latest
```
### Usando npm.
### Usando npm.
@ -187,73 +196,20 @@ docker-compose up
## Environment variables
## Environment variables
| Variable | Mandatory | Comments | If absent |
Please refer to [Environment variables](https://docs.nocodb.com/getting-started/installation#environment-variables)
| NC_DB | Yes | See our database URLs | A local SQLite will be created in root folder |
| DATABASE_URL | No | JDBC URL Format. Can be used instead of NC_DB. Used in 1-Click Heroku deployment | |
| DATABASE_URL_FILE | No | path to file containing JDBC URL Format. Can be used instead of NC_DB. Used in 1-Click Heroku deployment | |
| NC_PUBLIC_URL | Yes | Used for sending Email invitations | Best guess from http request params |
| NC_AUTH_JWT_SECRET | Yes | JWT secret used for auth and storing other secrets | A Random secret will be generated |
| NC_SENTRY_DSN | No | For Sentry monitoring | |
| NC_CONNECT_TO_EXTERNAL_DB_DISABLED | No | Disable Project creation with external database | |
| NC_DISABLE_TELE | No | Disable telemetry | |
| NC_BACKEND_URL | No | Custom Backend URL | `http://localhost:8080` will be used |
# Development setup
# Development setup
```
Please refer to [Development Setup](https://github.com/nocodb/nocodb/tree/master#development-setup)
git clone https://github.com/nocodb/nocodb
cd nocodb
# run backend
cd packages/nocodb
npm install
npm run watch:run
# open localhost:8080/dashboard in browser
# run frontend
cd packages/nc-gui
npm install
npm run dev
# open localhost:3000/dashboard in browser
```
Changes made to code automatically restart.
## Running Cypress tests locally
```shell
# install dependencies(cypress)
npm install
# run mysql database with required database using docker compose
docker-compose -f ./scripts/docker-compose-cypress.yml up
# Run backend api using following command
npm run start:api
# Run frontend web UI using following command
npm run start:web
# wait until both 3000 and 8080 ports are available
# and run cypress test using following command
npm run cypress:run
# or run following command to run it with GUI
npm run cypress:open
```
# Contributing
# Contributing
- Please take a look at ./scripts/contribute/HowToApplyLicense.md
Please refer to [Contribution Guide](https://github.com/nocodb/nocodb/blob/master/.github/CONTRIBUTING.md).
- Ignore adding headers for .json or .md or .yml
# 🎯 Por que estamos construindo isso?
# Por que estamos construindo isso?
A maioria das empresas da Internet equipar-se com a planilha ou um banco de dados para resolver suas necessidades de negócios. Planilhas são usadas por um bilhão de seres humanos colaborativamente todos os dias. No entanto, estamos longe de trabalhar em velocidades semelhantes em bancos de dados que são muito mais poderosas ferramentas quando se trata de computação. As tentativas de resolver isso com ofertas de SaaS significam controles de acesso horríveis, lockin do fornecedor, lockin de dados, alterações abruptas de preços e mais importante, um teto de vidro no futuro.
A maioria das empresas da Internet equipar-se com a planilha ou um banco de dados para resolver suas necessidades de negócios. Planilhas são usadas por um bilhão de seres humanos colaborativamente todos os dias. No entanto, estamos longe de trabalhar em velocidades semelhantes em bancos de dados que são muito mais poderosas ferramentas quando se trata de computação. As tentativas de resolver isso com ofertas de SaaS significam controles de acesso horríveis, lockin do fornecedor, lockin de dados, alterações abruptas de preços e mais importante, um teto de vidro no futuro.
# ❤ Nossa missão :
# Nossa missão
Nossa missão é fornecer a mais poderosa interface de código para bancos de dados que é fonte aberta para cada negócio de Internet no mundo. Isso não apenas democratizaria o acesso a uma poderosa ferramenta de computação, mas também produzirá um bilhão de pessoas que terão habilidades radicais de corda e construção na Internet."
Nossa missão é fornecer a mais poderosa interface de código para bancos de dados que é fonte aberta para cada negócio de Internet no mundo. Isso não apenas democratizaria o acesso a uma poderosa ferramenta de computação, mas também produzirá um bilhão de pessoas que terão habilidades radicais de corda e construção na Internet."
<ahref="https://www.producthunt.com/posts/nocodb?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-nocodb"target="_blank"><imgsrc="https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=297536&theme=dark"alt="NocoDB - The Open Source Airtable alternative | Product Hunt"style="width: 250px; height: 54px;"width="250"height="54"/></a>
<ahref="https://www.producthunt.com/posts/nocodb?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-nocodb"target="_blank"><imgsrc="https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=297536&theme=dark"alt="NocoDB - The Open Source Airtable alternative | Product Hunt"style="width: 250px; height: 54px;"width="250"height="54"/></a>
</p>
# Быстрый старт
# Быстрый старт
@ -51,7 +53,14 @@
docker run -d --name nocodb -p 8080:8080 nocodb/nocodb:latest
docker run -d --name nocodb -p 8080:8080 nocodb/nocodb:latest
```
```
> Для сохранения данных, вы можете установить том в `/usr/app/data/`.
- NocoDB needs a database as input : See [Production Setup](https://github.com/nocodb/nocodb/blob/master/README.md#production-setup).
- Для сохранения данных, вы можете установить том в `/usr/app/data/`.
Example:
```
docker run -d -p 8080:8080 --name nocodb -v /local/path:/usr/app/data/ nocodb/nocodb:latest
```
### Используя NPM
### Используя NPM
@ -189,76 +198,20 @@ docker-compose up
## Переменные среды
## Переменные среды
| Переменная | Обязательна | Комментарии | Если отсутствует |
Please refer to [Environment variables](https://docs.nocodb.com/getting-started/installation#environment-variables)
| NC_DB | Да | Посмотрите наши URL-адреса базы данных | В корневой папке будет создан локальный SQLite |
| DATABASE_URL | Нет | Формат URL JDBC. Может использоваться вместо NC_DB. Используется при развертывании Heroku в один клик | |
| DATABASE_URL_FILE | Нет | путь к файлу, содержащему формат URL JDBC. Может использоваться вместо NC_DB. Используется при развертывании Heroku в один клик | |
| NC_PUBLIC_URL | Да | Используется для отправки email приглашений | Лучшее предположение из параметров HTTP-запроса |
| NC_AUTH_JWT_SECRET | Да | Секрет JWT, используемый для аутентификации и хранения других секретов | Будет сгенерирован случайный секрет |
| NC_SENTRY_DSN | Нет | Для сторожевого мониторинга | |
| NC_CONNECT_TO_EXTERNAL_DB_DISABLED | Нет | Отключить создание проекта с внешней базой данных | |
| NC_DISABLE_TELE | Нет | Отключить телеметрию | |
| NC_BACKEND_URL | Нет | Пользовательский Backend URL | будет использоваться `http://localhost:8080` |
# Настройка разработки
# Настройка разработки
```
Please refer to [Development Setup](https://github.com/nocodb/nocodb/tree/master#development-setup)
git clone https://github.com/nocodb/nocodb
cd nocodb
# запустить бэкэнд
cd packages/nocodb
npm install
npm run watch:run
# открыть localhost:8080/dashboard в браузере
# запустить фронтэнд
cd packages/nc-gui
npm install
npm run dev
# открыть localhost:3000/dashboard в браузере
```
Изменения, внесенные в код, автоматически перезапускаются.
## Локальный запуск Cypress-тестов
```shell
# установить зависимости (cypress)
npm install
# install dependencies(cypress)
npm install
# запустить базу данных mysql с необходимой базой данных, используя docker compose
docker-compose -f ./scripts/docker-compose-cypress.yml up
# Запустите backend api, используя следующую команду
npm run start:api
# Запустите интерфейсный веб-интерфейс, используя следующую команду
npm run start:web
# подождите, пока станут доступны порты 3000 и 8080
# и запустите тест cypress, используя следующую команду
npm run cypress:run
# или запустите следующую команду, чтобы запустить ее с графическим интерфейсом
Please refer to [Contribution Guide](https://github.com/nocodb/nocodb/blob/master/.github/CONTRIBUTING.md).
- Игнорировать добавление заголовков для .json, .md или .yml.
# 🎯 Почему мы строим это?
# Почему мы строим это?
Большинство интернет-компаний используют электронные таблицы или базы данных для решения своих бизнес-задач. Таблицы ежедневно используют более миллиарда человек. Однако мы далеко не работаем с аналогичной скоростью над базами данных, которые являются более мощными инструментами, когда дело доходит до вычислений. Попытки решить эту проблему с помощью предложений SaaS означали ужасный контроль доступа, блокировку поставщиков, блокировку данных, резкие изменения цен и, самое главное, стеклянный потолок для того, что возможно в будущем.
Большинство интернет-компаний используют электронные таблицы или базы данных для решения своих бизнес-задач. Таблицы ежедневно используют более миллиарда человек. Однако мы далеко не работаем с аналогичной скоростью над базами данных, которые являются более мощными инструментами, когда дело доходит до вычислений. Попытки решить эту проблему с помощью предложений SaaS означали ужасный контроль доступа, блокировку поставщиков, блокировку данных, резкие изменения цен и, самое главное, стеклянный потолок для того, что возможно в будущем.
# ❤ Наша миссия :
# Наша миссия
Наша миссия - предоставить самый мощный интерфейс без кода для баз данных с открытым исходным кодом для каждого интернет-бизнеса в мире. Это не только демократизирует доступ к мощному вычислительному инструменту, но и приведет к появлению более миллиарда человек, которые будут иметь радикальные способности возиться и строить в Интернете.
Наша миссия - предоставить самый мощный интерфейс без кода для баз данных с открытым исходным кодом для каждого интернет-бизнеса в мире. Это не только демократизирует доступ к мощному вычислительному инструменту, но и приведет к появлению более миллиарда человек, которые будут иметь радикальные способности возиться и строить в Интернете.
<ahref="https://www.producthunt.com/posts/nocodb?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-nocodb"target="_blank"><imgsrc="https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=297536&theme=dark"alt="NocoDB - The Open Source Airtable alternative | Product Hunt"style="width: 250px; height: 54px;"width="250"height="54"/></a>
<ahref="https://www.producthunt.com/posts/nocodb?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-nocodb"target="_blank"><imgsrc="https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=297536&theme=dark"alt="NocoDB - The Open Source Airtable alternative | Product Hunt"style="width: 250px; height: 54px;"width="250"height="54"/></a>
</p>
# Prueba rápida
# Prueba rápida
@ -51,7 +53,14 @@ Convierte cualquier MySQL, PostgreSQL, SQL Server, SQLite y Mariadb en una hoja
docker run -d --name nocodb -p 8080:8080 nocodb/nocodb:latest
docker run -d --name nocodb -p 8080:8080 nocodb/nocodb:latest
```
```
> Para habilitar datos no perecederos se puede usar `/usr/app/data/`.
- NocoDB needs a database as input : See [Production Setup](https://github.com/nocodb/nocodb/blob/master/README.md#production-setup).
- Para habilitar datos no perecederos se puede usar `/usr/app/data/`.
Example:
```
docker run -d -p 8080:8080 --name nocodb -v /local/path:/usr/app/data/ nocodb/nocodb:latest
```
### Usando npm.
### Usando npm.
@ -187,73 +196,20 @@ docker-compose up
## Variables de entorno
## Variables de entorno
| Variable | Obligatorio | Comentarios | Si no esta presente |
Please refer to [Environment variables](https://docs.nocodb.com/getting-started/installation#environment-variables)
| NC_DB | Si | Ver nuestras URLs de bases de datos | Un SQLite local será creada en el directorio raíz (root) |
| DATABASE_URL | No | Formato JDBC URL. Puede ser usado en lugar de NC_DB. Usada en la implementación de 1-Click en Heroku | |
| DATABASE_URL_FILE | No | path to file containing JDBC URL Format. Can be used instead of NC_DB. Used in 1-Click Heroku deployment | |
| NC_PUBLIC_URL | Si | Usada para mandar invitaciones por email. | Best guess from http request params |
| NC_AUTH_JWT_SECRET | Si | JWT secret usado para authenticación y para alacenar otros "secrets" | Un "secret" random será generado automaticamente. |
| NC_SENTRY_DSN | No | Para monitoreo de Sentry | |
| NC_CONNECT_TO_EXTERNAL_DB_DISABLED | No | Desactiva creación de Projecto con base de datos externa | |
| NC_DISABLE_TELE | No | Deshabilitar telemetría | |
| NC_BACKEND_URL | No | Custom Backend URL | Se usará `http://localhost:8080` por default |
# Development setup
# Development setup
```
Please refer to [Development Setup](https://github.com/nocodb/nocodb/tree/master#development-setup)
git clone https://github.com/nocodb/nocodb
cd nocodb
# corre el backend
cd packages/nocodb
npm install
npm run watch:run
# abre localhost:8080/dashboard en tu navegador
# corre el frontend
cd packages/nc-gui
npm install
npm run dev
# abre localhost:3000/dashboard en tu navegador
```
Changes made to code automatically restart.
## Correr los tests de Cypress localmente
```shell
# install dependencies(cypress)
npm install
# run mysql database with required database using docker compose
docker-compose -f ./scripts/docker-compose-cypress.yml up
# Run backend api using following command
npm run start:api
# Run frontend web UI using following command
npm run start:web
# wait until both 3000 and 8080 ports are available
# and run cypress test using following command
npm run cypress:run
# or run following command to run it with GUI
npm run cypress:open
```
# Contribuciones
# Contribuciones
- Por favor vea ./scripts/contribute/HowToApplyLicense.md
Please refer to [Contribution Guide](https://github.com/nocodb/nocodb/blob/master/.github/CONTRIBUTING.md).
- Ignore añadir headers para .json, .md o .yml
# 🎯 Por qué estamos construyendo esto?
# Por qué estamos construyendo esto?
La mayoría de las empresas de Internet emplean una hoja de cálculo o una base de datos para resolver sus necesidades comerciales. Las hojas de cálculo son utilizadas por mil millones de personas colaborativamente todos los días. Sin embargo, estamos lejos de trabajar a velocidades similares en bases de datos, ya que son herramientas computacionalmente más poderosas. Los intentos de resolver esto con las ofrendas de SaaS han significado horribles controles de acceso, lockin de proveedores, lockin de datos, cambios abruptos de precios y, lo que es más importante, un techo de vidrio sobre lo que es posible en el futuro."
La mayoría de las empresas de Internet emplean una hoja de cálculo o una base de datos para resolver sus necesidades comerciales. Las hojas de cálculo son utilizadas por mil millones de personas colaborativamente todos los días. Sin embargo, estamos lejos de trabajar a velocidades similares en bases de datos, ya que son herramientas computacionalmente más poderosas. Los intentos de resolver esto con las ofrendas de SaaS han significado horribles controles de acceso, lockin de proveedores, lockin de datos, cambios abruptos de precios y, lo que es más importante, un techo de vidrio sobre lo que es posible en el futuro."
# ❤ Nuestra misión :
# Nuestra misión
Nuestra misión es proporcionar la interfaz sin-código más potente para bases de datos open-source para negocios de Internet en el mundo. Esto no solo democratizaría el acceso a una poderosa herramienta de computación, sino que también brindará a mil millones de personas que tendrán habilidades radicales de retención y construcción en Internet."
Nuestra misión es proporcionar la interfaz sin-código más potente para bases de datos open-source para negocios de Internet en el mundo. Esto no solo democratizaría el acceso a una poderosa herramienta de computación, sino que también brindará a mil millones de personas que tendrán habilidades radicales de retención y construcción en Internet."