05ecb25d1b
* feat: create nocobase app with simple & quickstart option * chore: delete template file * create-nocobase-app: add env API_PORT fallback * chore: log * env default fallback * move config dir * change has yarn * chore: prettier * fix: npm running issue * database testing support sqlite * once... * chore: typo * fix: sqlite test * update readme * feat: copy .env.example to .env at create-nocobase-app * create-nocobase-app: change sqlite3 to github master * create-nocobase-app: .env template * create-nocobase-app: update .env * chore: typo * update README * chore: Application constructor * feat: sqlite demo data support * fix test * fix: application error * chore: plugin-client run sql * fix: application createCli * fix: can choose whether to register actions * chore: model compile error * fix: support sqlite * fix: demo data set index sequence on postgresql * chore: code reduce * fix: operators are compatible with sqlite * add impor demo option to init command * update env Co-authored-by: chenos <chenlinxh@gmail.com>
163 lines
4.3 KiB
Markdown
163 lines
4.3 KiB
Markdown
English | [简体中文](./README.zh-CN.md)
|
|
|
|
![](https://www.nocobase.com/images/demo/11.png)
|
|
|
|
Note
|
|
----------
|
|
NocoBase is still in early development and is for preview purposes only and is not suitable for use in a production environment. A relatively stable and well-documented public beta is expected to be released as early as the first quarter of 2022.
|
|
If you are interested in NocoBase, please join us to discuss and develop it together.
|
|
|
|
https://www.nocobase.com/
|
|
hello@nocobase.com
|
|
|
|
What is NocoBase
|
|
----------
|
|
NocoBase is an open source and free no-code development platform. Whether you are a business executive who does not know programming or a developer who is proficient in programming, you can quickly build various customized and privately deployed collaboration platforms and management systems.
|
|
|
|
When to use NocoBase
|
|
----------
|
|
- **SMEs and organizations build business platforms and management systems for themselves or for their industry**
|
|
- Want the price to be low enough or even free
|
|
- Can be flexibly customized without programming knowledge
|
|
- Need full control of source code and data
|
|
- Can freely distribute and sell as their own products
|
|
- **Service providers and outsourcing teams develop collaboration platforms and management systems for their clients**
|
|
- Want to keep development costs as low as possible
|
|
- Need the most user-friendly secondary development experience
|
|
- Must be deployed privately as a standalone product for the client
|
|
- Can be freely distributed and sold by the client
|
|
|
|
Why choose NocoBase
|
|
----------
|
|
- **Open source and free**
|
|
- Unrestricted commercial use under the MIT 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**
|
|
- WYSIWYG visual configuration
|
|
- Separation of data structure configuration from interface configuration
|
|
- Rich combination of blocks and operations
|
|
- Role-based access control
|
|
- **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
|
|
----------
|
|
|
|
![](https://docs.nocobase.com/static/NocoBase.c9542b1f.png)
|
|
|
|
Requirements
|
|
----------
|
|
|
|
Node:
|
|
|
|
- Node.js 12.20+
|
|
|
|
Database:
|
|
|
|
- PostgreSQL 10.x+
|
|
- Sqlite 3+
|
|
|
|
Installation
|
|
----------
|
|
|
|
### Create a project with `create-nocobase-app`
|
|
|
|
#### Quickstart
|
|
~~~shell
|
|
yarn create nocobase-app my-nocobase-app --quickstart
|
|
~~~
|
|
|
|
#### Start with configuration
|
|
~~~shell
|
|
# 1. create project
|
|
yarn create nocobase-app my-nocobase-app
|
|
cd my-nocobase-app
|
|
|
|
# 2. edit configuration in .env file
|
|
vim .env
|
|
|
|
# 3. start a database (optional)
|
|
docker-compose up -d postgres
|
|
|
|
# 4. create initialization data
|
|
yarn nocobase init --import-demo
|
|
|
|
# 5. start project
|
|
yarn start
|
|
~~~
|
|
|
|
Open http://localhost:8000 in a web browser.
|
|
|
|
### Use docker compose
|
|
|
|
Create a `docker-compose.yml` file
|
|
|
|
```yaml
|
|
version: "3"
|
|
networks:
|
|
nocobase:
|
|
driver: bridge
|
|
services:
|
|
adminer:
|
|
image: adminer
|
|
restart: always
|
|
networks:
|
|
- nocobase
|
|
ports:
|
|
- 28080:8080
|
|
postgres:
|
|
image: postgres:10
|
|
restart: always
|
|
networks:
|
|
- nocobase
|
|
command: postgres -c wal_level=logical
|
|
environment:
|
|
POSTGRES_USER: nocobase
|
|
POSTGRES_DB: nocobase
|
|
POSTGRES_PASSWORD: nocobase
|
|
nocobase:
|
|
image: nocobase/nocobase:0.5.0-alpha.14
|
|
networks:
|
|
- nocobase
|
|
command: [ "yarn", "serve", "start", "--port", "8000" ]
|
|
environment:
|
|
DB_DIALECT: postgres
|
|
DB_DATABASE: nocobase
|
|
DB_USER: nocobase
|
|
DB_PASSWORD: nocobase
|
|
DB_PORT: 5432
|
|
DB_HOST: postgres
|
|
ports:
|
|
- "28000:8000"
|
|
```
|
|
|
|
Run the command on your terminal
|
|
|
|
```
|
|
docker-compose run nocobase bash -c 'yarn serve init'
|
|
docker-compose up -d
|
|
```
|
|
|
|
Open http://localhost:28000 in a web browser.
|
|
|
|
### Participate in the development
|
|
|
|
~~~shell
|
|
git clone https://github.com/nocobase/nocobase.git
|
|
cd nocobase
|
|
cp .env.example .env
|
|
docker-compose up -d postgres
|
|
yarn install
|
|
yarn bootstrap
|
|
yarn build
|
|
yarn nocobase init
|
|
yarn start
|
|
~~~
|
|
|
|
Open http://localhost:8000 in a web browser.
|