mirror of https://github.com/nocodb/nocodb
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
274 lines
8.8 KiB
274 lines
8.8 KiB
3 years ago
|
<h1 align="center" style="border-bottom: none">
|
||
|
<b>
|
||
|
<a href="https://www.nocodb.com">NocoDB </a><br>
|
||
|
</b>
|
||
|
✨ Die Open Source Airtable Alternative ✨ <br>
|
||
|
|
||
|
</h1>
|
||
|
<p align="center">
|
||
3 years ago
|
Verwandelt jeden MySQL, PostgreSQL, SQL Server, SQLite & MariaDB in eine Smart-Tabelle.
|
||
3 years ago
|
</p>
|
||
|
<div align="center">
|
||
|
|
||
|
[![Build Status](https://travis-ci.org/dwyl/esta.svg?branch=master)](https://travis-ci.com/github/NocoDB/NocoDB)
|
||
3 years ago
|
[![Node version](https://img.shields.io/badge/node-%3E%3D%2014.18.0-brightgreen)](http://nodejs.org/download/)
|
||
3 years ago
|
[![Twitter](https://img.shields.io/twitter/url/https/twitter.com/NocoDB.svg?style=social&label=Follow%20%40NocoDB)](https://twitter.com/NocoDB)
|
||
|
|
||
|
</div>
|
||
|
|
||
|
<p align="center">
|
||
3 years ago
|
<a href="http://www.nocodb.com"><b>Webseite</b></a> •
|
||
3 years ago
|
<a href="https://discord.gg/5RgZmkW"><b>Discord</b></a> •
|
||
|
<a href="https://twitter.com/nocodb"><b>Twitter</b></a> •
|
||
|
<a href="https://www.reddit.com/r/NocoDB/"><b>Reddit</b></a> •
|
||
3 years ago
|
<a href="https://docs.nocodb.com/"><b>Dokumentation</b></a>
|
||
3 years ago
|
</p>
|
||
3 years ago
|
|
||
|
![OpenSourceAirtableAlternative](https://user-images.githubusercontent.com/5435402/133762127-e94da292-a1c3-4458-b09a-02cd5b57be53.png)
|
||
|
|
||
|
<img src="https://static.scarf.sh/a.png?x-pxid=c12a77cc-855e-4602-8a0f-614b2d0da56a" />
|
||
|
|
||
3 years ago
|
<p align="center">
|
||
|
<a href="https://www.producthunt.com/posts/nocodb?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-nocodb" target="_blank"><img src="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>
|
||
3 years ago
|
|
||
3 years ago
|
# Schneller Versuch
|
||
3 years ago
|
|
||
3 years ago
|
### 1-Klick-Bereitstellung
|
||
3 years ago
|
|
||
|
#### Heroku
|
||
3 years ago
|
|
||
3 years ago
|
<a href="https://heroku.com/deploy?template=https://github.com/nocodb/nocodb-seed-heroku">
|
||
3 years ago
|
<img
|
||
|
src="https://www.herokucdn.com/deploy/button.svg"
|
||
|
width="300px"
|
||
|
alt="Deploy NocoDB to Heroku with 1-Click"
|
||
|
/>
|
||
|
</a>
|
||
|
<br>
|
||
|
|
||
3 years ago
|
### Verwenden von Docker
|
||
3 years ago
|
|
||
3 years ago
|
```bash
|
||
|
docker run -d --name nocodb -p 8080:8080 nocodb/nocodb:latest
|
||
|
```
|
||
|
|
||
3 years ago
|
- NocoDB benötigt eine Datenbank zur Eingabe: Siehe [Production Setup](https://github.com/nocodb/nocodb/blob/master/README.md#production-setup).
|
||
3 years ago
|
- Fehlt diese Eingabe, wird auf SQLite zurückgegriffen. Um SQLite beständig zu machen, kann `/usr/app/data/` gemountet werden.
|
||
3 years ago
|
|
||
3 years ago
|
Beispiel:
|
||
3 years ago
|
|
||
|
```
|
||
3 years ago
|
docker run -d -p 8080:8080 --name nocodb -v "$(pwd)"/nocodb:/usr/app/data/ nocodb/nocodb:latest
|
||
3 years ago
|
```
|
||
3 years ago
|
|
||
3 years ago
|
### Verwenden von NPM
|
||
3 years ago
|
|
||
3 years ago
|
```
|
||
3 years ago
|
npm install create-nocodb-app
|
||
3 years ago
|
```
|
||
3 years ago
|
|
||
3 years ago
|
### Verwenden von NPX
|
||
|
|
||
|
```
|
||
3 years ago
|
npx create-nocodb-app
|
||
3 years ago
|
```
|
||
|
|
||
3 years ago
|
### Verwenden von Git
|
||
3 years ago
|
|
||
3 years ago
|
```
|
||
|
git clone https://github.com/nocodb/nocodb-seed
|
||
|
cd nocodb-seed
|
||
|
npm install
|
||
|
npm start
|
||
|
```
|
||
|
|
||
|
### GUI
|
||
|
|
||
3 years ago
|
Zugriff auf Dashboard mit. : [http://localhost:8080/dashboard](http://localhost:8080/dashboard)
|
||
3 years ago
|
|
||
|
# Tritt unserer Gemeinschaft bei
|
||
3 years ago
|
|
||
3 years ago
|
<a href="https://discord.gg/5RgZmkW">
|
||
3 years ago
|
<img src="https://discordapp.com/api/guilds/661905455894888490/widget.png?style=banner3" alt="">
|
||
3 years ago
|
</a>
|
||
|
<br>
|
||
3 years ago
|
<br>
|
||
3 years ago
|
|
||
|
# Screenshots
|
||
|
|
||
2 years ago
|
|
||
|
![1](https://user-images.githubusercontent.com/86527202/172082510-796fa257-a771-483b-a569-104037e99c50.png)
|
||
3 years ago
|
<br>
|
||
|
|
||
3 years ago
|
![2](https://user-images.githubusercontent.com/86527202/155515258-3eea7e44-9616-4e63-b9da-c701c11b7a05.png)
|
||
3 years ago
|
<br>
|
||
|
|
||
2 years ago
|
![5](https://user-images.githubusercontent.com/86527202/172082627-76be978c-0302-4057-990d-66967552237f.png)
|
||
3 years ago
|
<br>
|
||
|
|
||
3 years ago
|
![6](https://user-images.githubusercontent.com/86527202/155515273-4f36b28f-8d36-4fe0-94e2-acd3e5020d91.png)
|
||
3 years ago
|
<br>
|
||
|
|
||
3 years ago
|
![7](https://user-images.githubusercontent.com/86527202/155515277-fe434e7a-78bd-4f73-a78a-5a45c090e05a.png)
|
||
|
<br>
|
||
3 years ago
|
|
||
3 years ago
|
![8](https://user-images.githubusercontent.com/86527202/155515280-3906823d-96b3-4e40-a2ec-c5aaec190891.png)
|
||
3 years ago
|
<br>
|
||
|
|
||
3 years ago
|
![9](https://user-images.githubusercontent.com/86527202/155515287-63b898f4-b171-49fd-a33b-bb385df9dfb6.png)
|
||
|
<br>
|
||
3 years ago
|
|
||
2 years ago
|
![3](https://user-images.githubusercontent.com/86527202/172082602-919fc1aa-e5e8-42a7-9049-7b692b8ca8bf.png)
|
||
3 years ago
|
<br>
|
||
|
|
||
3 years ago
|
![4](https://user-images.githubusercontent.com/86527202/155515265-3a9228db-cc49-46d7-8fc9-3091571deb86.png)
|
||
3 years ago
|
<br>
|
||
|
|
||
3 years ago
|
![10](https://user-images.githubusercontent.com/86527202/155515288-02cac9bd-1047-4725-b390-640f7ccab746.png)
|
||
3 years ago
|
<br>
|
||
|
|
||
3 years ago
|
![11](https://user-images.githubusercontent.com/86527202/155515290-046a7cb9-e4d6-4ab6-a3f3-a27b256b3159.png)
|
||
3 years ago
|
<br>
|
||
3 years ago
|
|
||
|
# Merkmale
|
||
|
|
||
|
### Rich-Tabellenschnittstelle
|
||
3 years ago
|
|
||
3 years ago
|
- ⚡ Einfaches Suchen, Sortieren, Filtern und Ausblenden von Spalten
|
||
|
- ⚡ Ansichten erstellen: Gitter, Galerie, Kanban, Formular
|
||
|
- ⚡ Teilen von Ansichten: Öffentlich und passwortgeschützt
|
||
3 years ago
|
- ⚡ Persönliche und gesperrte Ansichten
|
||
3 years ago
|
- ⚡ 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.
|
||
3 years ago
|
|
||
3 years ago
|
### App-Store für Workflow-Automationen
|
||
3 years ago
|
|
||
3 years ago
|
- ⚡ Chat: Microsoft Teams, Slack, Discord, Mattermost
|
||
3 years ago
|
- ⚡ E-Mail: SMTP, SES, MailChimp
|
||
3 years ago
|
- ⚡ SMS: Twilio
|
||
|
- ⚡ WhatsApp
|
||
3 years ago
|
- ⚡ Jede 3rd-Party-APIs
|
||
3 years ago
|
|
||
3 years ago
|
### Programmatischer API-Zugriff über
|
||
3 years ago
|
|
||
3 years ago
|
- ⚡ Rest APIs (Swagger)
|
||
3 years ago
|
- ⚡ Graphql-APIs
|
||
|
- ⚡ Enthält JWT-Authentifizierung & Social Auth
|
||
|
- ⚡ API-Tokens für die Integration mit Zapier, Integromat.
|
||
3 years ago
|
|
||
3 years ago
|
# Produktivaufbau
|
||
3 years ago
|
|
||
3 years ago
|
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.
|
||
3 years ago
|
|
||
3 years ago
|
## Docker
|
||
3 years ago
|
|
||
3 years ago
|
#### Beispiel MySQL / MariaDB
|
||
3 years ago
|
|
||
3 years ago
|
```
|
||
|
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
|
||
|
```
|
||
|
|
||
3 years ago
|
#### Beispiel PostgreSQL
|
||
3 years ago
|
|
||
3 years ago
|
```
|
||
|
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
|
||
|
```
|
||
|
|
||
3 years ago
|
#### Beispiel MS SQL Server
|
||
3 years ago
|
|
||
3 years ago
|
```
|
||
|
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
|
||
3 years ago
|
|
||
3 years ago
|
```
|
||
|
git clone https://github.com/nocodb/nocodb
|
||
3 years ago
|
cd nocodb
|
||
3 years ago
|
cd docker-compose
|
||
|
cd mysql or pg or mssql
|
||
3 years ago
|
docker-compose up -d
|
||
3 years ago
|
```
|
||
|
|
||
3 years ago
|
## Umgebungsvariablen
|
||
3 years ago
|
|
||
3 years ago
|
Siehe [Environment variables](https://docs.nocodb.com/getting-started/installation#environment-variables)
|
||
3 years ago
|
|
||
|
# Entwicklungsaufbau
|
||
|
|
||
3 years ago
|
## Projekt kopieren
|
||
3 years ago
|
|
||
3 years ago
|
```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
|
||
2 years ago
|
docker-compose -f ./scripts/cypress/docker-compose-cypress.yml up
|
||
3 years ago
|
|
||
|
# 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
|
||
3 years ago
|
|
||
3 years ago
|
Siehe [Contribution Guide](https://github.com/nocodb/nocodb/blob/master/.github/CONTRIBUTING.md).
|
||
3 years ago
|
|
||
3 years ago
|
# Warum bauen wir das auf?
|
||
3 years ago
|
|
||
3 years ago
|
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.
|
||
3 years ago
|
|
||
3 years ago
|
# Unsere Aufgabe
|
||
3 years ago
|
|
||
3 years ago
|
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.
|