Go to file
ChengLei Shao b4b97b9f30
fix: model.beforeCreate not called (#343)
* fix: model.beforeCreate not called

* chore: condition
2022-04-29 21:42:54 +08:00
.github/workflows fix: through table primaryKey error (#297) 2022-04-19 16:35:44 +08:00
docker docs: update readme.md 2022-04-29 10:55:01 +08:00
docs feat: client v0.6 (#150) 2022-01-10 19:22:21 +08:00
packages fix: model.beforeCreate not called (#343) 2022-04-29 21:42:54 +08:00
storage feat: improvements (#335) 2022-04-29 00:09:40 +08:00
.editorconfig Feat: client base entry of plugin workflow (#225) 2022-03-27 15:51:48 +08:00
.env.example feat: improvements (#335) 2022-04-29 00:09:40 +08:00
.eslintignore v0.6 2021-12-06 21:23:34 +08:00
.eslintrc v0.5 2021-05-23 08:38:08 +08:00
.gitignore feat: details block (#302) 2022-04-20 15:49:01 +08:00
.prettierignore v0.6 2021-12-06 21:23:34 +08:00
.prettierrc refactor: code splitting of the table component (#121) 2021-12-02 22:56:16 +08:00
.umirc.ts feat: client v0.6 (#150) 2022-01-10 19:22:21 +08:00
commitlint.config.js fix(root): change wrong file mode 2022-04-23 23:26:19 +08:00
docker-compose.yml docs: update readme.md 2022-04-29 10:55:01 +08:00
jest.cli.js feat: rename ui_schemas to uiSchemas 2022-02-16 00:22:47 +08:00
jest.config.js chore(jest): modulePathIgnorePatterns 2022-02-15 11:02:56 +08:00
jest.setup.ts feat: error handle middleware (#214) 2022-03-02 12:50:15 +08:00
lerna.json feat: improvements (#335) 2022-04-29 00:09:40 +08:00
LICENSE feat(license): replace MIT license with Apache-2.0 2022-04-25 09:45:24 +08:00
package.json feat: improvements (#335) 2022-04-29 00:09:40 +08:00
publish.js Fix multiple apps (#316) 2022-04-24 20:22:50 +08:00
README.md Update README.md 2022-04-29 15:33:05 +08:00
README.zh-CN.md Update README.zh-CN.md 2022-04-29 15:39:42 +08:00
tsconfig.build.json feat: client v0.6 (#150) 2022-01-10 19:22:21 +08:00
tsconfig.jest.json Feat/create nocobase app (#273) 2022-04-17 10:00:42 +08:00
tsconfig.json Feat/create nocobase app (#273) 2022-04-17 10:00:42 +08:00
yarn.lock fix: cannot find module mkdirp (#330) 2022-04-27 12:27:31 +08:00

English | 中文

What is NocoBase

NocoBase is a scalability-first, open-source no-code development platform. No programming required, build your own collaboration platform, management system with NocoBase in minutes.

Homepage: https://www.nocobase.com/

Online Demo: https://demo.nocobase.com/new

Contact Us: hello@nocobase.com

Why choose NocoBase

  • Open source and free
    • Unrestricted commercial use under the Apache-2.0 license
    • Full code ownership, private deployment, private and secure data
    • Free to expand and develop for actual needs
    • Good ecological support
  • Strong no-code capability
    • Data Model
      • Create independent data models using dozens of field types such as text, date, number, attachment, option, icon, etc., and various association relationships such as one-to-one, one-to-many, many-to-many, etc.
    • Block
      • Display and manipulate data within a page using a free combination of block types such as tables, forms, kanban, calendars, details, etc.
    • ACL
      • Role-based control of user's system configuration rights, data action rights and menu access rights.
    • Workflow
      • Repetitive tasks are replaced by automation to increase efficiency. Manual approval is required for important matters.
    • Menu
      • You can group menus, support adding pages and links, and support unlimited submenus.
    • Action
      • Support filtering, exporting, adding, deleting, modifying, viewing and other operations to process data, which can be extended to more types.
  • Developer-friendly
    • Microkernel architecture, flexible and easy to extend, with a robust plug-in system
    • Node.js-based, with popular frameworks and technologies, including Koa, Sequelize, React, Formily, Ant Design, etc.
    • Progressive development, easy for getting-started, friendly to newcomers
    • No binding, no strong dependencies, can be used in any combination or extensions, can be used in existing projects

Architecture

Requirements

Node:

  • Node.js 14+

Database:(choose one)

  • PostgreSQL 10.x+
  • MySQL 8.x+
  • SQLite 3+

Installation

Please make sure you have installed Docker

1. Download NocoBase

Download with Git (or Download Zipand extract it to the nocobase directory)

git clone https://github.com/nocobase/nocobase.git nocobase

2. Select database (choose one)

Supports SQLite, MySQL, PostgreSQL

# SQLite
cd nocobase/docker/app-sqlite
# MySQL
cd nocobase/docker/app-mysql
# PostgreSQL
cd nocobase/docker/app-postgres

3. Install and start NocoBase

It may take dozens of seconds

# run in the background
$ docker-compose up -d
# view app logs
$ docker-compose logs app

app-sqlite-app-1  | nginx started
app-sqlite-app-1  | yarn run v1.22.15
app-sqlite-app-1  | $ cross-env DOTENV_CONFIG_PATH=.env node -r dotenv/config packages/app/server/lib/index.js install -s
app-sqlite-app-1  | Done in 2.72s.
app-sqlite-app-1  | yarn run v1.22.15
app-sqlite-app-1  | $ pm2-runtime start --node-args="-r dotenv/config" packages/app/server/lib/index.js -- start
app-sqlite-app-1  | 2022-04-28T15:45:38: PM2 log: Launching in no daemon mode
app-sqlite-app-1  | 2022-04-28T15:45:38: PM2 log: App [index:0] starting in -fork mode-
app-sqlite-app-1  | 2022-04-28T15:45:38: PM2 log: App [index:0] online
app-sqlite-app-1  | 🚀 NocoBase server running at: http://localhost:13000/

4. Log in to NocoBase

Open http://localhost:13000 in a web browser. The initial account and password are admin@nocobase.com and admin123.

Create a project with create-nocobase-app

# 1. create project
# SQLite
yarn create nocobase-app my-nocobase-app -d sqlite
# MySQL
yarn create nocobase-app my-nocobase-app -d mysql \
   -e DB_HOST=mysql \
   -e DB_PORT=3356 \
   -e DB_DATABASE=nocobase \
   -e DB_USER=nocobase \
   -e DB_PASSWORD=nocobase
# PostgreSQL
yarn create nocobase-app my-nocobase-app -d postgres \
   -e DB_HOST=postgres \
   -e DB_PORT=5432 \
   -e DB_DATABASE=postgres \
   -e DB_USER=postgres \
   -e DB_PASSWORD=postgres

# 2. switch to the project directory
cd my-nocobase-app

# 3. Install dependencies
yarn install

# 4. Install NocoBase
yarn nocobase install --lang=en-US

# 5. start project
yarn start

Open http://localhost:8000 in a web browser. The initial account and password are admin@nocobase.com and admin123.

Contributing

  • Fork the source code to your own repository
  • Modify source code
  • Submit pull request
# Replace the following git address with your own repo
git clone https://github.com/nocobase/nocobase.git
cd nocobase
cp .env.example .env
yarn install
yarn nocobase install
yarn start

Building

# For all packages
yarn build

# For specific package
yarn build --scope @nocobase/database

Testing

# For all packages
yarn test

# For specific package
yarn test packages/<name>