Frontend - nokia-wroclaw/innovativeproject-health-care GitHub Wiki

1. Views

  1. Main page with login popup
  2. Admin panel
  3. Tribes and teams management page
  4. Survey page
  5. Results page
  6. Statistics page
  7. Edit surveys page
  8. Action items page
  9. Comments page

2. Roles

Admin

  • access to views #1, #2, #3
  • admin can assign others to be editors

Editor

  • access to views #1, #3, #5, #6, #7
  • in views #1, #5, #6, #7 editor can only see these tribes for which he/she has editing rights (the ones he/she created or other editor/admin added him/her to editors lists of these tribes)

Manager

  • access to views #1, #5, #6, #9
  • in views #5, #6, #9 manager can see only these teams for which he/she has managing rights (editor or admin added him/her to managers lists of these teams)

User

  • access to views #1, #4, #5, #6, #8
  • in #4, #5, #6, #8 user can see only these teams of which he/she is a member (editor or admin added him/her to members lists of these teams)

3. Functional notes

  1. If a person does not have any role, he/she will not be able to log into the system.

4. Code notes

Meaning of redux store ites:

  • user - an object for storing basic informations about currently logged in user
  • editors - an object for storing Admin panel (view #2) state.
  • tribes - an object for storing Tribes and teams management page (view #3) state.
  • currentSurvey - an object for storing Survey page (view #4) state.
  • general - an object for storing general application data.
  • surveys - an object for storing Edit surveys page (view #7) state.
  • results - an object for storing state of pages connected with surveys results visualization: Results page (view #5), Statistics page (view #6), Comments page (view #9)

5. Future ideas

  • It would improve readability of code if we change ‘user’ role to ‘member’ or something similar because right now we use ‘user’ in context of role and of a user of our system
  • It would be nice feature to be able to change order of rows and columns in results matrix
  • Create action items page (view #8)