nocobase2/README.md
2021-04-17 23:35:06 +08:00

148 lines
4.4 KiB
Markdown

English | [简体中文](./README.zh-CN.md)
Note
----------
NocoBase is still in early development and is for preview purposes only and is not suitable for use in a production environment.
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.
Who is NocoBase for
----------
- **SMEs and organizations**
- Proficient in the business of their organization or industry
- Looking to build digital systems
- **IT service providers and outsourcing teams**
- Provide digital upgrade for SMEs and organizations
- Have development capabilities
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**
- More advanced codeless architecture, both flexible and easy to use, can make a powerful system even if you don't know programming
- Support tables, calendars, forms, details, statistical charts and other types of views freely combined into the page
- Unlimited hierarchical configuration of navigation menus, allowing flexible organization of pages
- Precise configuration of data manipulation rights, access rights to pages and menus
- **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, 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://nocobase.oss-cn-beijing.aliyuncs.com/4fde069587182dacbdb00b020d914404.jpg)
Requirements
----------
Node:
- Node.js 12.x or 14.x
Database(Choose any one):
- PostgreSQL 10.x+ (Recommend)
- MySQL 5.7.x+
Installation
----------
Use only as a no-code platform
~~~bash
# Create project directory
mkdir my-nocobase-project && cd my-nocobase-project
# npm initialization
npm init
# Installing nocobase dependencies
npm i @nocobase/api @nocobase/app
# Copy and configure env, don't forget to change the database information
cp -r node_modules/@nocobase/api/.env.example .env
# Database initialization
npx nocobase db-init
# Start app
npx nocobase start
~~~
Want to participate in the development
~~~shell
# You can use docker to start the database
docker-compose up -d postgres
# Set Environment Variables
cp .env.example .env
npm install
npm run bootstrap
npm run build
npm run db-migrate init
npm start
~~~
Nodejs provided by docker
```shell
git clone https://github.com/nocobase/nocobase.git
cd nocobase
# You can use docker to start the database
docker-compose up -d postgres
# Set Environment Variables
cp .env.example .env
# Installing dependencies and initializing
docker-compose run nocobase bash -c 'npm install && npm run bootstrap && npm run build && npm run db-migrate init'
# Start nocobase
docker-compose up -d nocobase
# View log
docker-compose logs nocobase
```
Build
----------
~~~shell
# for all packages
npm run build
# for specific package
npm run build <package_name_1> <package_name_2> ...
~~~
Test
----------
~~~
# For all packages
npm test
# For specific package
npm test packages/<name>
~~~