2022-04-27 08:01:13 +08:00
English | [中文 ](./README.zh-CN.md )
2022-04-17 10:00:42 +08:00
![](https://nocobase.oss-cn-beijing.aliyuncs.com/bbcedd403d31cd1ccc4e9709581f5c2f.png)
2022-05-17 10:42:14 +08:00
## What is NocoBase
2022-04-17 10:00:42 +08:00
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.
2022-05-18 21:49:52 +08:00
Homepage:
2022-04-17 10:00:42 +08:00
https://www.nocobase.com/
2022-05-18 21:49:52 +08:00
Online Demo:
2022-04-17 10:00:42 +08:00
https://demo.nocobase.com/new
2022-05-18 21:49:52 +08:00
Documents:
2022-05-17 10:42:14 +08:00
https://docs.nocobase.com/
2022-05-18 21:49:52 +08:00
Contact Us:
2022-04-17 10:00:42 +08:00
hello@nocobase.com
2022-05-18 21:49:52 +08:00
## Who is NocoBase for
NocoBase is designed for you if you have the following needs.
- Develop an internal management system
- Build 90% of your system with no-code development in two days
- Develop freely for particular requirements, the rest 10% of the system
- The system requires frequent changes
- Private deployment with full control of code and data
- Free to use or pay for more technical support
2022-05-17 10:42:14 +08:00
## Why choose NocoBase
2022-04-17 10:00:42 +08:00
- **Open source and free**
2022-04-27 07:45:38 +08:00
- Unrestricted commercial use under the Apache-2.0 license
2022-04-17 10:00:42 +08:00
- Full code ownership, private deployment, private and secure data
- Free to expand and develop for actual needs
- Good ecological support
- **Strong no-code capability**
2022-04-27 07:45:38 +08:00
- Data Model
2022-04-29 15:33:05 +08:00
- 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.
2022-04-27 07:45:38 +08:00
- Block
2022-04-29 15:33:05 +08:00
- Display and manipulate data within a page using a free combination of block types such as tables, forms, kanban, calendars, details, etc.
2022-04-27 07:45:38 +08:00
- ACL
2022-04-29 15:33:05 +08:00
- Role-based control of user's system configuration rights, data action rights and menu access rights.
2022-04-27 07:45:38 +08:00
- Workflow
2022-04-29 15:33:05 +08:00
- 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.
2022-04-30 08:42:36 +08:00
- **Built for extended development**
2022-04-17 10:00:42 +08:00
- 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
2022-05-17 10:42:14 +08:00
## Architecture
2022-04-17 10:00:42 +08:00
2022-05-01 11:09:37 +08:00
![](https://www.nocobase.com/images/NocoBaseMindMapLite.png)
[Click here to view the full image ](https://www.nocobase.com/images/NocoBaseMindMap.png )
2022-04-17 10:00:42 +08:00
2022-05-17 10:42:14 +08:00
## Installation
2022-04-17 10:00:42 +08:00
2022-05-17 10:42:14 +08:00
NocoBase supports both Docker and CLI installation methods. Docker is recommended if you are new to NocoBase.
2022-04-17 10:00:42 +08:00
2022-05-17 10:42:14 +08:00
### Docker (👍Recommended)
2022-04-17 10:00:42 +08:00
2022-05-17 10:42:14 +08:00
#### 0. Before start
2022-04-29 00:09:40 +08:00
2022-04-29 12:05:06 +08:00
⚡⚡ Please make sure you have installed [Docker ](https://docs.docker.com/get-docker/ )
2022-04-29 12:14:23 +08:00
#### 1. Download NocoBase
2022-04-29 10:55:01 +08:00
2022-05-17 10:42:14 +08:00
Download with Git (or Download Zip, and extract it to the nocobase directory)
2022-04-29 00:09:40 +08:00
```bash
2022-04-29 10:55:01 +08:00
git clone https://github.com/nocobase/nocobase.git nocobase
2022-04-29 00:09:40 +08:00
```
2022-04-29 12:14:23 +08:00
#### 2. Select database (choose one)
2022-04-29 00:09:40 +08:00
2022-04-29 10:55:01 +08:00
Supports SQLite, MySQL, PostgreSQL
2022-04-29 00:09:40 +08:00
2022-04-29 10:55:01 +08:00
```bash
# SQLite
cd nocobase/docker/app-sqlite
# MySQL
cd nocobase/docker/app-mysql
# PostgreSQL
cd nocobase/docker/app-postgres
2022-04-29 00:09:40 +08:00
```
2022-04-29 12:14:23 +08:00
#### 3. Install and start NocoBase
2022-04-29 00:09:40 +08:00
2022-04-29 00:13:58 +08:00
It may take dozens of seconds
2022-04-29 00:09:40 +08:00
```bash
2022-04-29 10:55:01 +08:00
# run in the background
$ docker-compose up -d
# view app logs
$ docker-compose logs app
2022-04-29 00:09:40 +08:00
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/
```
2022-04-29 12:14:23 +08:00
#### 4. Log in to NocoBase
2022-04-29 00:09:40 +08:00
2022-04-29 00:13:58 +08:00
Open [http://localhost:13000 ](http://localhost:13000 ) in a web browser. The initial account and password are `admin@nocobase.com` and `admin123` .
2022-04-29 00:09:40 +08:00
2022-04-17 10:00:42 +08:00
2022-05-17 10:42:14 +08:00
### CLI
#### 0. Before start
Please make sure you have Node.js 12.x or above installed. You can download and install the latest LTS version from the official website. It is recommended to use nvm (or nvm-windows for Win systems) to manage Node.js versions if you plan to work with Node.js for a long time.
```bash
$ node -v
v16.13.2
```
yarn package manager is recommend.
```bash
$ npm install --global yarn
$ yarn -v
1.22.10
```
Also, make sure you have configured and started the required database, which supports SQLite, MySQL, PostgreSQL.
#### 1. Create a NocoBase project
```bash
2022-04-25 19:05:33 +08:00
# SQLite
yarn create nocobase-app my-nocobase-app -d sqlite
# MySQL
yarn create nocobase-app my-nocobase-app -d mysql \
2022-05-17 10:42:14 +08:00
-e DB_HOST=localhost \
2022-04-25 19:05:33 +08:00
-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 \
2022-05-17 10:42:14 +08:00
-e DB_HOST=localhost \
2022-04-25 19:05:33 +08:00
-e DB_PORT=5432 \
2022-05-17 10:42:14 +08:00
-e DB_DATABASE=nocobase \
-e DB_USER=nocobase \
-e DB_PASSWORD=nocobase
```
2022-04-17 10:00:42 +08:00
2022-05-17 10:42:14 +08:00
#### 2. Switch to the project directory
```bash
2022-04-17 10:00:42 +08:00
cd my-nocobase-app
2022-05-17 10:42:14 +08:00
```
2022-04-17 10:00:42 +08:00
2022-05-17 10:42:14 +08:00
#### 3. Install dependencies
```bash
2022-04-25 19:05:33 +08:00
yarn install
2022-05-17 10:42:14 +08:00
```
2022-04-25 19:05:33 +08:00
2022-05-17 10:42:14 +08:00
#### 4. Install & Start NocoBase
2022-04-17 10:00:42 +08:00
2022-05-17 10:42:14 +08:00
```bash
2022-05-17 15:15:09 +08:00
yarn nocobase install --lang=en-US
2022-04-17 10:00:42 +08:00
yarn start
2022-05-17 10:42:14 +08:00
```
#### 5. Log in to NocoBase
2022-04-17 10:00:42 +08:00
2022-05-17 15:15:09 +08:00
Open [http://localhost:8000 ](http://localhost:8000 ) in a web browser. The initial account and password are `admin@nocobase.com` and `admin123` .
2022-04-17 10:00:42 +08:00
2022-05-17 10:42:14 +08:00
## Contributing
2022-04-17 10:00:42 +08:00
- Fork the source code to your own repository
- Modify source code
- Submit pull request
2022-05-17 10:42:14 +08:00
### Download
2022-04-17 10:00:42 +08:00
```bash
# 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
```
2022-05-17 10:42:14 +08:00
### Development and Testing
2022-04-17 10:00:42 +08:00
```bash
2022-05-17 15:18:23 +08:00
# Install NocoBase
yarn nocobase install --lang=en-US
# Start NocoBase
2022-05-17 15:15:09 +08:00
yarn start
2022-05-17 10:42:14 +08:00
# Run all tests
yarn test
# Run all test files in the folder
yarn test < dir >
# Run a single test file
yarn test < file >
2022-04-17 10:00:42 +08:00
```
2022-05-17 10:42:14 +08:00
### Documentation preview
2022-04-17 10:00:42 +08:00
```bash
2022-05-17 10:42:14 +08:00
# Start documentation
yarn doc --lang=zh-CN
yarn doc --lang=en-US
```
2022-04-17 10:00:42 +08:00
2022-05-17 10:42:14 +08:00
The documentation is in the docs directory and follows Markdown syntax
```bash
|- /docs/
|- en-US
|- zh-CN
2022-04-17 10:00:42 +08:00
```