mirror of
https://github.com/nocobase/nocobase
synced 2024-11-15 16:15:44 +00:00
4.4 KiB
4.4 KiB
English | 简体中文
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
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
# 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
# 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
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
# 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>