NocoDB
✨ Die Open Source Airtable Alternative ✨

Verwandelt jeden MySQL, PostgreSQL, SQL Server, SQLite & MariaDB in eine Smart-Tabelle.

[![Build Status](https://travis-ci.org/dwyl/esta.svg?branch=master)](https://travis-ci.com/github/NocoDB/NocoDB) [![Node version](https://img.shields.io/badge/node-%3E%3D%2014.18.0-brightgreen)](http://nodejs.org/download/) [![Twitter](https://img.shields.io/twitter/url/https/twitter.com/NocoDB.svg?style=social&label=Follow%20%40NocoDB)](https://twitter.com/NocoDB)

WebseiteDiscordTwitterRedditDokumentation

![OpenSourceAirtableAlternative](https://user-images.githubusercontent.com/5435402/133762127-e94da292-a1c3-4458-b09a-02cd5b57be53.png)

NocoDB - The Open Source Airtable alternative | Product Hunt

# Schneller Versuch ### 1-Klick-Bereitstellung #### Heroku Deploy NocoDB to Heroku with 1-Click
### Verwenden von Docker ```bash docker run -d --name nocodb -p 8080:8080 nocodb/nocodb:latest ``` - NocoDB benötigt eine Datenbank zur Eingabe: Siehe [Production Setup](https://github.com/nocodb/nocodb/blob/master/README.md#production-setup). - Fehlt diese Eingabe, wird aus SQLite zurückgegriffen. Um SQLite dauerhaft zu machen, kann `/usr/app/data/` gemountet werden. Beispiel: ``` docker run -d -p 8080:8080 --name nocodb -v /local/path:/usr/app/data/ nocodb/nocodb:latest ``` ### Verwenden von NPM ``` npm install create-nocodb-app ``` ### Verwenden von NPX ``` npx create-nocodb-app ``` ### Verwenden von Git ``` git clone https://github.com/nocodb/nocodb-seed cd nocodb-seed npm install npm start ``` ### GUI Zugriff auf Dashboard mit. : [http://localhost:8080/dashboard](http://localhost:8080/dashboard) # Tritt unserer Gemeinschaft bei

# Screenshots ![1](https://user-images.githubusercontent.com/86527202/155515238-b10c900d-5b1d-454b-a4d4-d03f742af8e8.png)
![2](https://user-images.githubusercontent.com/86527202/155515258-3eea7e44-9616-4e63-b9da-c701c11b7a05.png)
![5](https://user-images.githubusercontent.com/86527202/155515271-04914510-8b76-4b7d-9f57-c43cc3dfb7a7.png)
![6](https://user-images.githubusercontent.com/86527202/155515273-4f36b28f-8d36-4fe0-94e2-acd3e5020d91.png)
![7](https://user-images.githubusercontent.com/86527202/155515277-fe434e7a-78bd-4f73-a78a-5a45c090e05a.png)
![8](https://user-images.githubusercontent.com/86527202/155515280-3906823d-96b3-4e40-a2ec-c5aaec190891.png)
![9](https://user-images.githubusercontent.com/86527202/155515287-63b898f4-b171-49fd-a33b-bb385df9dfb6.png)
![3](https://user-images.githubusercontent.com/86527202/155515262-e26e10f9-e825-4741-adbb-e60bec35c3a4.png)
![4](https://user-images.githubusercontent.com/86527202/155515265-3a9228db-cc49-46d7-8fc9-3091571deb86.png)
![10](https://user-images.githubusercontent.com/86527202/155515288-02cac9bd-1047-4725-b390-640f7ccab746.png)
![11](https://user-images.githubusercontent.com/86527202/155515290-046a7cb9-e4d6-4ab6-a3f3-a27b256b3159.png)
# Merkmale ### Rich-Tabellenschnittstelle - ⚡ Einfaches Suchen, Sortieren, Filtern und Ausblenden von Spalten - ⚡ Ansichten erstellen: Gitter, Galerie, Kanban, Formular - ⚡ Teilen von Ansichten: Öffentlich und passwortgeschützt - ⚡ Persönliche und gesperrte Ansichten - ⚡ Bilder in Zellen hochladen (funktioniert mit S3, Minio, GCP, Azure, Digitalocean, Linode, OVH, Backraze) !! - ⚡ Rollen: Eigentümer, Ersteller, Bearbeiter, Betrachter, Kommentator, Benutzerdefinierte Rollen. - ⚡ Zugriffskontrolle: Feingliedrige Zugangskontrolle auch bei Datenbank-, Tabellen- und Spaltenebene. ### App-Store für Workflow-Automationen - ⚡ Chat: Microsoft Teams, Slack, Discord, Mattermost - ⚡ E-Mail: SMTP, SES, MailChimp - ⚡ SMS: Twilio - ⚡ WhatsApp - ⚡ Jede 3rd-Party-APIs ### Programmatischer API-Zugriff über - ⚡ Rest APIs (Swagger) - ⚡ Graphql-APIs - ⚡ Enthält JWT-Authentifizierung & Social Auth - ⚡ API-Tokens für die Integration mit Zapier, Integromat. # Produktivaufbau NocoDB erfordert eine Datenbank, um Metadaten von Tabellenansichten und externen Datenbanken zu speichern. Verbindungsparameter für diese Datenbank können in der Umgebungsvariablen `NC_DB` spezifiziert werden. ## Docker #### Beispiel MySQL / MariaDB ``` 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 ``` #### Beispiel PostgreSQL ``` 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 ``` #### Beispiel MS 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 -d ``` ## Umgebungsvariablen Siehe [Environment variables](https://docs.nocodb.com/getting-started/installation#environment-variables) # Entwicklungsaufbau ## Projekt kopieren ```shell git clone https://github.com/nocodb/nocodb cd nocodb ``` ## Backend lokal ausführen ```shell cd packages/nocodb npm install npm run watch:run # localhost:8080/dashboard im Browser aufrufen ``` ## Frontend lokal ausführen ```shell cd packages/nc-gui npm install npm run dev # localhost:3000/dashboard iM Browser aufrufen ``` Änderungen am Code starten automatisch neu. > nocodb/packages/nocodb enthält nc-lib-gui, die entwickelte Version von nc-gui, die in der npm-Registry gehostet wird. Sie können localhost:8000/dashboard im Browser aufrufen, nachdem Sie das Backend lokal gestartet haben, wenn Sie nur das Backend ändern möchten. ## Cypress-Tests lokal ausführen ```shell # install dependencies (cypress) npm install # MySQL-Datenbank mit der benötigten Datenbank mit Docker Compose ausführen docker-compose -f ./scripts/docker-compose-cypress.yml up # Backend API mit folgendem Befehl ausführen npm run start:api # Frontend Web-UI mit folgendem Befehl ausführen npm run start:web # Warten, bis die beiden Ports 3000 und 8000 verfügbar sind, # dann Cypress Test mit diesem Befehl ausführen npm run cypress:run # Oder diesen Befehl ausführen, um die GUI auszuführen npm run cypress:open ``` # Beiträge Siehe [Contribution Guide](https://github.com/nocodb/nocodb/blob/master/.github/CONTRIBUTING.md). # Warum bauen wir das auf? Die meisten Internet-Unternehmen verwenden entweder eine Tabellenkalkulation oder eine Datenbank, um ihre Geschäftsanforderungen zu erfüllen. Tabellenkalkulationen werden jeden Tag von mehr als einer Milliarde Menschen für die Zusammenarbeit genutzt. Wir sind jedoch weit davon entfernt, mit einer ähnlichen Geschwindigkeit an Datenbanken zu arbeiten, die weitaus leistungsfähigere Werkzeuge für die Datenverarbeitung sind. Versuche, dieses Problem mit SaaS-Angeboten zu lösen, bedeutete schreckliche Zugangskontrollen, Anbieterbindungen, Datenbindungen, plötzliche Preisänderungen und vor allem einen Blick in die Glaskugel, was in Zukunft möglich sein wird. # Unsere Aufgabe Unser Ziel ist es, die leistungsstärkste No-Code-Schnittstelle für Datenbanken, welche Open Source ist, für jedes einzelne Internet-Unternehmen in der Welt bereitzustellen. Dies würde nicht nur den Zugang zu einem leistungsstarken Computerwerkzeug demokratisieren, sondern auch mehr als eine Milliarde Menschen hervorbringen, die über radikale Bastel- und Konstruktionsfähigkeiten im Internet verfügen werden.