Add docs into architecture
Add docs model
Allow folder having no parent
Add watcher field, alter constant field for sorting purpose
Add permission checking algorithm
Add single permission check function
Use priority counting
Trim function to support builtin permission only
Refactored code using yield generators