Skip to content
This repository was archived by the owner on May 29, 2018. It is now read-only.

Beta December 2013

Enrico Stano edited this page Oct 27, 2013 · 2 revisions

Basic features

  1. create groups
  2. join groups
  3. invite people to groups
  4. manage waiting lists
  5. manage group members
  6. manage group public profile

CRUD (Create, Read, Update, Delete)

  • User
  • Group (coops, Customer)
  • UsersUnit (ex family unit)
  • WaitingList
  • Profile

​Entities specs

User

  • could be a Group member through UserUnit OR WaitingList (not both)
  • could only pertain to one UserUnit for each Group
  • could only pertain to one WaitingList for each Group
Roles
  • not authenticated
  • group context:
    • admin (group creator)
    • member (in UsersUnit)
    • waiting user (in WaitingList)
    • not member

Group

  • has many, unique, UsersUnit
  • has one WaitingList
  • has one Profile

UsersUnit

  • could only pertain to 1 Group
  • has many User

WaitingList

  • could only pertain to 1 Group
  • has many User
  • adding a User to WaitingList check if the User is already a Group member through a UsersUnit
  • is ordered by User joining DateTime

Authorization (who is who)

role/permission not authenticated group admin group member group waiting user not member
list of groups yes yes yes yes yes
join groups - yes yes yes yes
group
CRUD - all - - -
invite User - yes yes - -
manage Profile - yes - - -
UsersUnit
list - yes yes - -
delete - yes his own only - -
update - yes his own only - -
manage Profile - yes his own only - -
add User - yes his own only - -
remove User - yes his own only - -
User details - yes his own only - -
send emails to User - yes - - -
WaitingList
list - yes - - -
add User - yes - - -
remove User - yes - himself only -
send emails to User - yes - - -

Clone this wiki locally