1. 程式人生 > 其它 >grouparoo 原始碼專案結構

grouparoo 原始碼專案結構

以前我也簡單寫了一些關於grouparoo處理的,後邊計劃順著原始碼處理研究下

專案結構

grouparoo 包含了不少模組,屬於一個monorepo,但是沒有使用大家常用的yarn workspace 或者lerna 的workspace 而是使用了pnpm進行多workspace 的管理
使用lerna 進行釋出

  • 包含的模組
"cli",  cli 管理的
"apps/*", demo 應用
"core",  核心部分,包含了web 以及workers,當然此特性來自actionhero
"ui/*", 包含了社群以及企業版本,同時也包含一些共享元件,基於next 開發
"plugins/@grouparoo/*" grouparoo 的外掛,還是使用了actionhero的特性進行的開發,但是進行了一些改進處理

執行

  • 準備應用
# Clone this repository
git clone git@github.com:grouparoo/grouparoo.git
cd grouparoo
# Install with pnpm (If you don't have pnpm, install it via "npm i -g pnpm")
pnpm install
# Configure your local environment variables in .env to be able to run the "staging-enterprise" app
cp apps/staging-enterprise/.env.example apps/staging-enterprise/.env
open apps/staging-enterprise/.env
  • 依賴安裝&執行
# Install & run Redis
brew install redis
brew services start redis
# Install & run postgresql (v9.x)
brew install postgresql
brew services start postgresql
# Create your local development database (Postgres)
createdb "grouparoo_development"
# or in `psql`
CREATE DATABASE grouparoo_development;
GRANT ALL PRIVILEGES ON DATABASE grouparoo_development TO postgres;
# Run the staging-enterprise app example project
cd apps/staging-enterprise # If you aren't already here
npm run dev

說明

官方提供也提供了容器的執行模式還是比較簡單的,通過閱讀grouparoo 的原始碼我們也可以很好的學習下如何使用actionhero 開發靈活的web 應用

參考資料

https://www.grouparoo.com/docs/development
https://www.actionherojs.com/