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
- 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
- Global layout:
- User Info
- Change Password
- Project Info
- Organization Info
- Organization Management
- Role Management
- Role Assignments
- Root User Setting
- Menu Management
- Microservice
- Instance Management
- Config Management
- Route Management
- Role Assignments function at global level
- Mail Template at global level
- Saga Instance
- Saga Define
- Role Tag
- Mailbox Setting
- API Test
- Dashboard Setting
- Send Setting at global level
- Message Record at global level
- Inmail Template at global level
- Task Detail
- Execution Record
- Executable Program
- Receive Setting
- System Setting
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
│ ├── components
│ │ ├── loadingBar
│ │ └── memberRole
│ ├── config
│ │ ├── Menu.yml
│ │ └── language
│ ├── containers
│ │ ├── global
│ │ ├── organization
│ │ ├── project
│ │ ├── user
│ │ └── IAMIndex.js
│ ├── locale
│ │ ├── en_US.js
│ │ └── zh_CN.js
│ ├── stores
│ │ ├── globalStores
│ │ ├── 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.