diff --git a/PERMISSIONS.md b/PERMISSIONS.md new file mode 100644 index 0000000..5b116ea --- /dev/null +++ b/PERMISSIONS.md @@ -0,0 +1,18 @@ +# Permissions + +The basic principle of this permissions system is that each permission has a +32-bit ID. The first 16 bits denote the permission category, the last 16 the +type within that category. Each category has an admin permission denoted using +all zeros in the last 16 bits. A user with this permission automatically has +all other permissions, even if new permissions get added later. + +## Categories + +### Admin (`0`) + +ID `0` grants a user admin permissions across all categories. + +### Sections (`1`) + +* `01`: Create sections +* `10`: Delete sections diff --git a/README.md b/README.md index d03c8bb..921efed 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,16 @@ -# general +# The Rusty Bever -This repository is used for defining API specifications, tracking sprints, etc. \ No newline at end of file +The Rusty Bever is more than just my personal website. The original idea was to +build a blog, but as I often do, the idea expands and grows way too big for me +to handle, but I keep making it anyways. + +The goal of this project is to not only set up a personal blog, but a versatile +user management system that I can then use to connect other services to my +website. I want to able to give users granular access to my services, ranging +from a blog to pastebin & a URL shortener. I'm basically building the +foundation on which I can create numerous personal web-based projects, using +this user management system to link it all together. + +I opted for a microservice-based design, as this allows me to easily integrate +new services into my existing network. This again enables me to more easily +develop & integrate new projects.