36 lines
1.7 KiB
Markdown
36 lines
1.7 KiB
Markdown
# Intro
|
|
Each organization are a collection of users and projects.
|
|
Users will be able to have multiple organizations and different roles in each of them. For example, a user can be an
|
|
admin in one organization and a member in another organization.
|
|
|
|
Each organization will have a unique slug that will consist of 4 lowercase letters and this slug will be used for the
|
|
database name of each project contained in an organization.
|
|
|
|
## Projects
|
|
Each project will have a unique name. Each project will be associated with an organization and will have a unique slug
|
|
that will come from the organization. The project will have a JSON field that will contain the different applications it has access to
|
|
|
|
## Organization Management
|
|
The organization management will have different features, such as creating an organization, inviting users to an organization,
|
|
managing the roles of users in an organization(admin or not), and deleting an organization.
|
|
|
|
### CRUD Operations
|
|
- **Create Organization**: Super Admin
|
|
- **Read Organization**: Super Admin, Admin and admin of the organization
|
|
- **Update Organization**: Super Admin, Admin
|
|
- **Delete Organization**: Super Admin
|
|
|
|
### User Management
|
|
- **Invite User**: Super Admin, Admin and admin of the organization
|
|
- **Remove User**: Super Admin, Admin and admin of the organization
|
|
- **Change User Role**: Super Admin, Admin and admin of the organization
|
|
- **List Users**: Super Admin, Admin and admin of the organization
|
|
- **Accept Invitation**: User
|
|
- **Decline Invitation**: User
|
|
|
|
### Project Management
|
|
- **Create Project**: Super Admin
|
|
- **Read Project**: Super Admin, Admin and admin of the organization
|
|
- **Update Project**: Super Admin
|
|
- **Delete Project**: Super Admin
|