The permit.io-project-interaction-app is a software project designed to facilitate the management of Role-Based Access Control (RBAC) and Attribute-Based Access Control (ABAC) within a resource management framework. It provides a comprehensive setup for managing resources such as accounts, users, notifications, systems, and companies, along with various user roles and condition-based access control.
- Role Management: Supports multiple roles including system-administrator, system-owner, privileged-system-user, and user.
- Resource Management: Handles various resources such as accounts, users, notifications, systems, and companies.
- User Sets: Allows the creation and management of user sets for easier role assignment.
- Condition-Based Access Control: Enables fine-grained access control based on specific conditions.
- Setup Scripts: Includes scripts for setting up the application and verifying configurations.
- Interactive CLI: Utilizes interactive prompts for user-friendly input during setup and configuration.
To get started with the permit.io-project-interaction-app, follow these steps:
-
Clone the repository:
git clone https://github.com/weehong/permit.io-project-interaction-app.git cd permit.io-project-interaction-app -
Install dependencies: Make sure you have Node.js installed. Then run:
npm install
-
Environment Configuration: Create a
.envfile based on the provided.env.exampleto configure your environment variables.
To start the application, run the following command:
npm startTo set up the Horaion configuration, use the following commands:
-
To run the setup:
npm run horaion
-
To verify the setup:
npm run horaion:verify
-
To manage user sets:
npm run horaion:user-sets
-
To add a user set:
npm run horaion:add-user-set
We welcome contributions to the permit.io-project-interaction-app! If you'd like to contribute, please follow these guidelines:
- Fork the repository.
- Create a new branch for your feature or bug fix.
- Commit your changes with clear messages.
- Push to your fork and submit a pull request.
Please ensure that your code adheres to the existing coding style and includes appropriate tests.
This project is licensed under the MIT License. See the LICENSE file for details.
For more detailed information on the project structure and available scripts, please refer to the documentation within the repository or check the individual package .md files in the node_modules/@inquirer directory.