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

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>