ustackweb

command module
v0.0.0-...-eca3c71 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 14, 2014 License: MIT Imports: 5 Imported by: 0

README

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.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
Godeps
_workspace/src/github.com/Unknwon/goconfig
Package goconfig is a fully functional and comments-support configuration file(.ini) parser.
Package goconfig is a fully functional and comments-support configuration file(.ini) parser.
_workspace/src/github.com/astaxie/beego
beego is an open-source, high-performance, modularity, full-stack web framework
beego is an open-source, high-performance, modularity, full-stack web framework
Usage:
_workspace/src/github.com/astaxie/beego/cache/memcache
package memcahe for cache provider
package memcahe for cache provider
_workspace/src/github.com/astaxie/beego/cache/redis
package redis for cache provider
package redis for cache provider
Usage: import(
_workspace/src/github.com/astaxie/beego/config/xml
package xml for config provider
package xml for config provider
_workspace/src/github.com/astaxie/beego/config/yaml
package yaml for config provider
package yaml for config provider
Usage:
_workspace/src/github.com/astaxie/beego/example/chat
Beego (http://beego.me/) @description beego is an open-source, high-performance web framework for the Go programming language.
Beego (http://beego.me/) @description beego is an open-source, high-performance web framework for the Go programming language.
Usage:
Usage:
Usage:
_workspace/src/github.com/astaxie/beego/migration
migration package for migration
migration package for migration
Simple Usage
_workspace/src/github.com/astaxie/beego/plugins/apiauth
Package apiauth provides handlers to enable apiauth support.
Package apiauth provides handlers to enable apiauth support.
_workspace/src/github.com/astaxie/beego/plugins/auth
Package auth provides handlers to enable basic auth support.
Package auth provides handlers to enable basic auth support.
_workspace/src/github.com/astaxie/beego/plugins/cors
Package cors provides handlers to enable CORS support.
Package cors provides handlers to enable CORS support.
package session provider
_workspace/src/github.com/astaxie/beego/session/couchbase
package couchbase for session provider
package couchbase for session provider
_workspace/src/github.com/astaxie/beego/session/memcache
package memcache for session provider
package memcache for session provider
_workspace/src/github.com/astaxie/beego/session/mysql
package mysql for session provider
package mysql for session provider
_workspace/src/github.com/astaxie/beego/session/postgres
SessionOn = true SessionProvider = postgresql SessionSavePath = "user=a password=b dbname=c sslmode=disable" SessionName = session
SessionOn = true SessionProvider = postgresql SessionSavePath = "user=a password=b dbname=c sslmode=disable" SessionName = session
_workspace/src/github.com/astaxie/beego/session/redis
package redis for session provider
package redis for session provider
swagger struct definition
toolbox healthcheck
an example for use captcha
_workspace/src/github.com/astaxie/beego/utils/pagination
The pagination package provides utilities to setup a paginator within the context of a http request.
The pagination package provides utilities to setup a paginator within the context of a http request.
package for validations
_workspace/src/github.com/beego/i18n
Package i18n is for app Internationalization and Localization.
Package i18n is for app Internationalization and Localization.
_workspace/src/github.com/beego/i18n/beei18n
beei18n is a helper tool for beego/i18n package.
beei18n is a helper tool for beego/i18n package.
_workspace/src/github.com/go-sql-driver/mysql
Go MySQL Driver - A MySQL-Driver for Go's database/sql package
Go MySQL Driver - A MySQL-Driver for Go's database/sql package
_workspace/src/github.com/howeyc/fsnotify
Package fsnotify implements file system notification.
Package fsnotify implements file system notification.
_workspace/src/github.com/lib/pq
Package pq is a pure Go Postgres driver for the database/sql package.
Package pq is a pure Go Postgres driver for the database/sql package.
_workspace/src/github.com/lib/pq/listen_example
Below you will find a self-contained Go program which uses the LISTEN / NOTIFY mechanism to avoid polling the database while waiting for more work to arrive.
Below you will find a self-contained Go program which uses the LISTEN / NOTIFY mechanism to avoid polling the database while waiting for more work to arrive.
_workspace/src/github.com/lib/pq/oid
Package oid contains OID constants as defined by the Postgres server.
Package oid contains OID constants as defined by the Postgres server.
_workspace/src/github.com/mattn/go-sqlite3
Package sqlite3 provides interface to SQLite3 databases.
Package sqlite3 provides interface to SQLite3 databases.
_workspace/src/github.com/slene/blackfriday
Blackfriday markdown processor.
Blackfriday markdown processor.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL