- IAM 管理 -> https://github.com/choerodon/iam-service/tree/master/react
- 通知管理 -> https://github.com/choerodon/notify-service/tree/master/react
- 事务管理/任务管理 -> https://github.com/choerodon/asgard-service/tree/master/react
- 平台服务管理 -> https://github.com/choerodon/manager-service/tree/master/react
The project is an overall front-end project that combines Choerodon Boot and Choerodon iam. The infrastructure Choerodon-front-iam module in the Choerodon front can be added selectively. The construction project can be used on macOS
, Windows
or Linux
. Teams can be developed in modules, greatly speeding up development.
- The project uses
webpack
for construction. - Use
gulp
to manage related processes. - Use
yeoman
to automatically generate related modules for the project. React
andMobx
are used as the main development technology.
The basic module has 3 levels, which have the following functions:
- Project layout:
- Project Settings
- Role assignment function at the project level
- Task Detail at project level
- Execution Record at project level
- Executable Program at project level
- Saga Instance at project level
- Organization layout:
- Project Management
- User Management
- Client Management
- LDAP settings
- Password Policy Management
- Role Assignments function at organization level
- Task Detail at organization level
- Execution Record at organization level
- Executable Program at organization level
- Saga Instance at organization level
- Global layout:
- User Info
- Change Password
- Token Manager
- Permission Info
- User Message
- Receive Setting
- Organization Management
- Role Label
- Role Management
- Role Assignments function at global level
- Root User Setting
- Menu Management
- Dashboard Setting
- System Setting
- API Test
- API Overview
- Microservice
- Instance Management
- Route Management
- Saga Instance at global level
- Saga Define
- Task Detail at global level
- Execution Record
- Executable Program
- Send Setting at global level
- Mail Template at global level
- Inmail Template at global level
- Mailbox Setting
- Message Record at global level
- Platform Announcement
- Site Statistics
The development is modeled on the i'm project structure (it is recommended that the directory structure is automatically generated by the yo command, saving the time for automatic directory creation). The source file directory is in iam/src/app/iam
. The main directory structure is as follows:
├── src
│ └── app
│ └── iam
│ ├── assets
│ │ ├── css
│ │ └── images
│ │── common
│ │ ├── json-format
│ │ └── util.js
│ ├── components
│ │ ├── loadingBar
│ │ └── memberLabel
│ ├── config
│ │ ├── Menu.yml
│ │ └── language
│ │ └── dashboard
│ ├── containers
│ │ ├── global
│ │ ├── organization
│ │ ├── project
│ │ ├── user
│ │ └── IAMIndex.js
│ ├── locale
│ │ ├── en_US.js
│ │ └── zh_CN.js
│ ├── stores
│ │ ├── global
│ │ ├── organization
│ │ ├── project
│ │ └── user
│ └── test
│ └── util
├── .eslintrc.json
├── .gitignore
├── .stylelintrc.json
├── package.json
└── tsconfig.json
- The
css
stores module of Assets store general stylesheet, the images storage module store image resources - The
containers
stores the front page - The
stores
stores the data needed for the front page - The
common
stores public configuration files - The
components
stores public components - The
locale
stores module multilingual files - The
config
storesMenu.yml
configuration file (including code and icon of menu, jump into Route, menu permissions) and language in Chinese and English yml (zh.yml
,en.yml
) - The
test
stores test files
- Node environment (6.9.0+)
- Git environment
- Python environment(2.7)
$ git clone https://github.com/choerodon/choerodon-front-iam.git
$ cd ./choerodon-front-iam/iam
$ npm install
$ npm start
Once running, open http://localhost:9090
If you find any shortcomings or bugs, please describe them in the issue.
Pull requests are welcome! Follow to know for more information on how to contribute.