All checks were successful
Build BAB Application Deployment Artifact / build (push) Successful in 2m31s
1.4 KiB
1.4 KiB
Users, Roles and Permissions
This is the design document for #11
Backend Concepts
Utilizing the AppWrite backend provides us with some basic concepts we can use:
Users, Groups, and Labels
Teams
Teams are AppWrite groups of users. Teams can be assigned roles, which can be assigned permissions. Teams "contain" users. A team has more permissions to manage it's members than labels, which are assigned / removed, rather than 'invited / left'.
Labels
Labels are AppWrite tags for users. Users have Labels as attributes. Like teams, labels can be used for Role / Permission mapping.
Permissions
https://appwrite.io/docs/advanced/platform/permissions
Permissions are fine-grained access control for users and objects. They follow standard "CRUD" patterns.
BAB Concepts
For teams, there will, to start, be the following:
staff: Individuals with authority / responsibilitiesmaintenance: Staff responsible for maintenance (eg: Boatswain)admin: Administrators of the program / application
school: Members of the Sailing School (Instructors & Students)studentrole : A student in the schoolinstructorrole: An instructor in the school
bab: Members of the BAB programskipperrole: A member who has passed skipper certification
The following are the initial labels:
- TBD