Skip to content

UserStack/ustackweb

Repository files navigation

ustackweb

Web frontend for ustackd written in Go using the Beego web framework.

Project to learn golang.org in the context of user lifecycle management.

Build Status

Audience

  • End User
  • Administrator
  • Developer

Features

  • User Account
    • CRUD
    • Lock/Unlock
    • Activation
    • Reset Password
    • Assign/Unassign Groups
    • Assign/Unassign Permissions
  • Groups
    • CRUD
    • Assign/Unassign Permissions
  • Permissions
    • CRUD

Defining Permissions

A permission is basically nothing more than a group. The user has the permission if he belongs to the group.

The naming scheme for permission groups is the following:

    perm.{object}.{verb}

To secure all CRUD operations of user objects we would need to create the following groups:

    "perm.users.read"
    "perm.users.create"
    "perm.users.update"
    "perm.users.delete"

Within the ustackweb project this permissions can then be used as little DSL via:

    can["read_users"]
    can["create_users"]
    can["update_users"]
    can["delete_users"]

Development

Please make sure you have Go, Ruby (for Sass), Node.js and npm (for asset management via Bower and Livereload) installed.

  1. Setup dependencies

     $ make prepare
    
  2. Run the Beego frontend on http://localhost:8080

     $ make run
    
  3. Open the Install page to setup some data

     $ open http://localhost:8080/install
    
  4. Sign In using the root user (user=admin, pass=admin)

     $ open http://localhost:8080/sign_in
    

Advanced

Todos

Technical Debt

  • Form builder
  • Form validation, action validation
  • Flash message across redirect

Alternatives

License

See LICENSE.

About

Web frontend for the ustackd

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published