mirror of
https://github.com/nocodb/nocodb.git
synced 2026-04-25 04:55:41 +00:00
* add vscode ide's ignore list * fix passing nested query in nested getAst calls * chore: update nocodb-sdk to local path * fix: ignore duplicating app config Signed-off-by: Pranav C <pranavxc@gmail.com> * fix: swagger columnNameParam type re: #2208 Signed-off-by: mertmit <mertmit99@gmail.com> * docs: update README.md [skip ci] * docs: update .all-contributorsrc [skip ci] * enhancement: hide slider on escape key Signed-off-by: Pranav C <pranavxc@gmail.com> * Add information about maximum value for `limit` in REST API * refactor: folder structure * refactor: folder structure * test: webhook (WIP) Signed-off-by: Raju Udava <86527202+dstala@users.noreply.github.com> * test: webhook Signed-off-by: Raju Udava <86527202+dstala@users.noreply.github.com> * test/cypress: corrections post develop branch refactoring Signed-off-by: Raju Udava <86527202+dstala@users.noreply.github.com> * fix: handle null Signed-off-by: Pranav C <pranavxc@gmail.com> * fix: path correction Signed-off-by: Pranav C <pranavxc@gmail.com> * fix: assign validation for correct column(LTAR) re #2228 Signed-off-by: Pranav C <pranavxc@gmail.com> * fix: disable api docs access for viewer role Signed-off-by: Raju Udava <86527202+dstala@users.noreply.github.com> * docs: Repair broken link * fix: DatePickerCell invalid date handling Signed-off-by: mertmit <mertmit99@gmail.com> * fix: nested insert correction in belongs to re #2228 Signed-off-by: Pranav C <pranavxc@gmail.com> * feat: compare with non-os products Signed-off-by: mertmit <mertmit99@gmail.com> * fix: Persian language moving across table Signed-off-by: mertmit <mertmit99@gmail.com> * docs: env variables * docs: env variables reorder * docs: env variables reorder * fix: i18n corrections (WeT-Klb) Signed-off-by: Raju Udava <86527202+dstala@users.noreply.github.com> * chore: image text corrections (@WeT-Klb) * chore: upgrade nc-help Signed-off-by: Pranav C <pranavxc@gmail.com> * docs: security.md * Update packages/nocodb/src/lib/noco/meta/api/swagger/helpers/templates/params.ts Co-authored-by: աɨռɢӄաօռɢ <wingkwong.code@gmail.com> * Update SqliteUi.ts - set float for decimal case in getAbstractType (#2260) * set float for decimal case in getAbstractType * fix: add cross-env to nc-gui package.json (#2275) * add cross-env to nc-gui package.json * fix: sanitize project title * chore: disable pr release for draft * chore: attachment log during airtable import Signed-off-by: Raju Udava <86527202+dstala@users.noreply.github.com> * modification of the traduction I aslo add some stuff according to the README (it was a different display so i didn't add a lot) * docs: update README.md [skip ci] * docs: update .all-contributorsrc [skip ci] * fix: change password cache logic * fix: add missing job name back * fix: prop types for FlipCard component Signed-off-by: mertmit <mertmit99@gmail.com> * fix: invalid char in content-disposition header Signed-off-by: Raju Udava <86527202+dstala@users.noreply.github.com> * fix: question mark in CONCAT * fix: handling lookup column reference in formula Signed-off-by: Pranav C <pranavxc@gmail.com> * fix: throw err if user is already a project user * chore: revise error msg * fix: package lock corrections Signed-off-by: Raju Udava <86527202+dstala@users.noreply.github.com> * test/ trigger Signed-off-by: Raju Udava <86527202+dstala@users.noreply.github.com> * fix: lock file version Signed-off-by: Raju Udava <86527202+dstala@users.noreply.github.com> * fix: package lock after npm/node upgrade Signed-off-by: Raju Udava <86527202+dstala@users.noreply.github.com> * fix: cypress package lock json Signed-off-by: Raju Udava <86527202+dstala@users.noreply.github.com> * test: lock node-version to 16.15.0 Signed-off-by: Raju Udava <86527202+dstala@users.noreply.github.com> * enhancement: allow custom limit values * chore: update query limit description * chore: bump to 16.15.0 * fix: node version * fix: handle invalid limit numbers Signed-off-by: Pranav C <pranavxc@gmail.com> * docs: update default value of pagination max limit value Signed-off-by: Pranav C <pranavxc@gmail.com> * fix: pg database type money Signed-off-by: mertmit <mertmit99@gmail.com> * fix: hasmany pagination - api correction re #2242 Signed-off-by: Pranav C <pranavxc@gmail.com> * script: add nc_017_add_user_token_exp_column * fix: add token_expired * fix: return unauthorized if token is expired * chore: revise toast message * chore: sign out n redirect to sign in page after changing password * fix: SingeSelect/MultiSelect webhook trigger (#2309) * fix: SingleSelect webhook trigger Signed-off-by: mertmit <mertmit99@gmail.com> * fix: MultiSelect webhook trigger Signed-off-by: mertmit <mertmit99@gmail.com> * Fix: Remove user reference from webhook context (#2337) * fix: remove user info from webhook handlebar context Signed-off-by: Pranav C <pranavxc@gmail.com> * docs: update webhook context variables docs Signed-off-by: Pranav C <pranavxc@gmail.com> * fix: only check token_expired in non-public base * fix: make rating readonly in lookup column (#2340) re #2045 Signed-off-by: Pranav C <pranavxc@gmail.com> * fix: exclude sensitive data related to server from SMTP test api Signed-off-by: Pranav C <pranavxc@gmail.com> * fix: session across broswers * fix: reload related table metadata after relation column delete (#2345) re #2344 Signed-off-by: Pranav C <pranavxc@gmail.com> * Fix: Sanitise comment data (#2343) * fix: sanitise row comment description Signed-off-by: Pranav C <pranavxc@gmail.com> * fix: add dom purify and sanitize content - Add DOMPurify in nuxt - On update value encode html tags to render as text in comment Signed-off-by: Pranav C <pranavxc@gmail.com> * fix: add missing dependency Signed-off-by: Pranav C <pranavxc@gmail.com> Co-authored-by: cattong <tangym@jifenbang.net> Co-authored-by: LepkoQQ <LepkoQQ@users.noreply.github.com> Co-authored-by: Pranav C <pranavxc@gmail.com> Co-authored-by: mertmit <mertmit99@gmail.com> Co-authored-by: navi <oof1lab@gmail.com> Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> Co-authored-by: Nils Reichardt <nils@reichardt.io> Co-authored-by: Raju Udava <86527202+dstala@users.noreply.github.com> Co-authored-by: Toon van Ramshorst <ramshorst@gmail.com> Co-authored-by: GurukiranMH <89529565+GurukiranMH@users.noreply.github.com> Co-authored-by: QuentinDstl <qdesautel@gmail.com>
274 lines
8.8 KiB
Markdown
274 lines
8.8 KiB
Markdown
<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">
|
|
Verwandelt jeden MySQL, PostgreSQL, SQL Server, SQLite & MariaDB in eine Smart-Tabelle.
|
|
</p>
|
|
<div align="center">
|
|
|
|
[](https://travis-ci.com/github/NocoDB/NocoDB)
|
|
[](http://nodejs.org/download/)
|
|
[](https://twitter.com/NocoDB)
|
|
|
|
</div>
|
|
|
|
<p align="center">
|
|
<a href="http://www.nocodb.com"><b>Webseite</b></a> •
|
|
<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> •
|
|
<a href="https://docs.nocodb.com/"><b>Dokumentation</b></a>
|
|
</p>
|
|
|
|

|
|
|
|
<img src="https://static.scarf.sh/a.png?x-pxid=c12a77cc-855e-4602-8a0f-614b2d0da56a" />
|
|
|
|
<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>
|
|
|
|
# Schneller Versuch
|
|
|
|
### 1-Klick-Bereitstellung
|
|
|
|
#### Heroku
|
|
|
|
<a href="https://heroku.com/deploy?template=https://github.com/nocodb/nocodb-seed-heroku">
|
|
<img
|
|
src="https://www.herokucdn.com/deploy/button.svg"
|
|
width="300px"
|
|
alt="Deploy NocoDB to Heroku with 1-Click"
|
|
/>
|
|
</a>
|
|
<br>
|
|
|
|
### 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 auf SQLite zurückgegriffen. Um SQLite beständig zu machen, kann `/usr/app/data/` gemountet werden.
|
|
|
|
Beispiel:
|
|
|
|
```
|
|
docker run -d -p 8080:8080 --name nocodb -v "$(pwd)"/nocodb:/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
|
|
|
|
<a href="https://discord.gg/5RgZmkW">
|
|
<img src="https://discordapp.com/api/guilds/661905455894888490/widget.png?style=banner3" alt="">
|
|
</a>
|
|
<br>
|
|
<br>
|
|
|
|
# Screenshots
|
|
|
|
|
|

|
|
<br>
|
|
|
|

|
|
<br>
|
|
|
|

|
|
<br>
|
|
|
|

|
|
<br>
|
|
|
|

|
|
<br>
|
|
|
|

|
|
<br>
|
|
|
|

|
|
<br>
|
|
|
|

|
|
<br>
|
|
|
|

|
|
<br>
|
|
|
|

|
|
<br>
|
|
|
|

|
|
<br>
|
|
|
|
# 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.
|