Users

Types

  • ADMIN: Admin users are users who have FULL control about application resources. Should be reserved for trust people.
  • TEACHER: Teachers can create and modify rooms. Both created and joined rooms.
  • STUDENT: Students cannot create any resource. They only can join to rooms.

Allowed actions

  • Create a room: Only allowed if is a TEACHER or ADMIN.
  • Join to a room: Users can join to a room if they have the room code.
  • Leave a room
  • Forget joined room: Every time you join to a room is saved in a room list. This allows users to don’t have to memorize each room code every time they want to rejoin to that room. Also you can forget that roomt. This won’t remove that room. This only removes that room from user’s list.
  • Remove room: Only allowed if is a TEACHER or ADMIN.

User information

User has the following fields

  • ID: Id generated automatically by the application.
  • Full name
  • Wallet address: Ethereum wallet address associated with user. This wallet should be given when creating user. Also this will be used tho verify signatures when user login using web3
  • Role: This specifies the user type.
  • Email
  • Phone numer
  • Password: Password is encrypted automatically using bcrypt algorithm.
  • Username
  • Address
  • School
  • City
  • Postal code
  • Room ID: This field is used to save the latest room where user was connected.
  • Recovery code: This field now is useles but it will be used to allow user to reset their password in case forget it.