9.9 KiB
NocoDB
✨ A alternativa de opção de fonte aberta✨
Transforma qualquer MySQL, PostgreSQL, SQL Server, Sqlite e MariaDB em uma planilha inteligente.
Website • Discord • Twitter • Reddit • Documentation
Experimente rápida
1-Click Deploy
Heroku
Usando o Docker.
docker run -d --name nocodb -p 8080:8080 nocodb/nocodb:latest
To persist data you can mount volume at
/usr/app/data/
.
Usando npm.
npx create-nocodb-app
Usando o git.
git clone https://github.com/nocodb/nocodb-seed
cd nocodb-seed
npm install
npm start
GUI
Acessar o painel usando: http://localhost:8080/dashboard
Junte-se a nossa comunidade
Screenshots
Recursos
Interface de planilha rica
- ⚡ Pesquisar, classificar, filtrar, esconder colunas com uber facilidade
- ⚡ Criar visualizações: Grade, Galeria, Kanban, Gantt, Formulário
- ⚡ Compartilhar Visualizações: Public & Senha Protegido
- ⚡ Vistas pessoais e bloqueadas
- ⚡ Carregar imagens para as células (funciona com S3, Minio, GCP, Azure, Digitalocean, Linodo, OVH, Backblaze) !!
- ⚡ Funções: proprietário, criador, editor, comentarista, visualizador, comentador, funções personalizadas.
- ⚡ Controle de acesso: controle de acesso fino, mesmo no banco de dados, no nível da tabela e da coluna.
App Store for Workflow Automations:
- ⚡ Bate-papo: Equipes Microsoft, folga, discórdia, material
- ⚡ Email: SMTP, SES, MailChimp
- ⚡ SMS: Twilio
- ⚡ whatsapp.
- ⚡ Qualquer APIs da 3ª parte
Acesso programático da API via:
- ⚡ repouso APIs (Swagger)
- ⚡ APIs GraphQl.
- ⚡ Inclui autenticação JWT e autenticação social
- ⚡ Tokens de API para integrar com Zapier, integromat.
Production Setup
O NOCODB requer um banco de dados para armazenar metadados de exibições de planilhas e bancos de dados externos. E parâmetros de conexão para este banco de dados podem ser especificados na variável de ambiente NC_DB.
Docker
Example MySQL
docker run -d -p 8080:8080 \
-e NC_DB="mysql2://host.docker.internal:3306?u=root&p=password&d=d1" \
-e NC_AUTH_JWT_SECRET="569a1821-0a93-45e8-87ab-eb857f20a010" \
nocodb/nocodb:latest
Example Postgres
docker run -d -p 8080:8080 \
-e NC_DB="pg://host:port?u=user&p=password&d=database" \
-e NC_AUTH_JWT_SECRET="569a1821-0a93-45e8-87ab-eb857f20a010" \
nocodb/nocodb:latest
Example SQL Server
docker run -d -p 8080:8080 \
-e NC_DB="mssql://host:port?u=user&p=password&d=database" \
-e NC_AUTH_JWT_SECRET="569a1821-0a93-45e8-87ab-eb857f20a010" \
nocodb/nocodb:latest
Docker Compose
git clone https://github.com/nocodb/nocodb
cd nocodb
cd docker-compose
cd mysql or pg or mssql
docker-compose up
Environment variables
Variable | Mandatory | Comments | If absent |
---|---|---|---|
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
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
# 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
- Please take a look at ./scripts/contribute/HowToApplyLicense.md
- Ignore adding headers for .json or .md or .yml
🎯 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.
❤ 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."