Groups
Invitations
Membership Requests
Misc features related to groups
Table Name : groups
| Column_name | type | Description |
|---|---|---|
| id | integer | primary key |
| name | varchar | name of the group |
| description | text | description of the group |
| rules | text | Text that contains rules to follow when doing any activity in the group |
| owner_id | integer | owner of the group |
| is_private | boolean | indicates whether the group is private or public e.g. for private group the users need invitation to join. For public groups owner can invite and also users can request to join the group |
| auto_approve_members | boolean | Indicates whether join requests are auto approved or not. Value in this field is valid if the group is public. |
| logo_id | integer | Id of the photo which will serve as group's logo |
| member_count | integer | number of members in the group. |
| create_at | date_time | created date |
| updated_at | date_time | updated date |
| deleted_at | date_time | deleted date |
Table Name : group_users
| Column_name | type | Description |
|---|---|---|
| id | integer | primary key |
| group_id | integer | refers to the group |
| user_id | integer | user id |
| status | integer | status of membership. (Pending, Rejected, Accepted). This column is important when user requests to join the group. |
| created_at | date_time | join date of the user to the group |
| updated_at | date_time | |
| deleted_at | date_time | date when member was removed |
Table Name: invites
| Column_name | type | Description |
|---|---|---|
| id | integer | primary key |
| message | string | message sent along with the invitation |
| user_id | integer | user who had sent the invitation |
| associated_id | integer | foreign key of the associated entity |
| associated_type | string | class name of the associated entity e.g. Group (right now we might have only invitation to group, in future we may have some other types of invites) |
| created_at | integer | Time when the record was created |
| updated_at | integer | Time when the record was updated |
Table Name: invite_users
| Column_name | type | Description |
|---|---|---|
| id | integer | primary key |
| invite_id | integer | reference to ID column of invites table |
| user_id | integer | user to whom the invitation was sent (will have value only if invitation is sent to user who is part of the learning system) |
| security_token | string | security_token used when the invitation is sent via email to people who are not registered with the system |
| status | integer | status of the invitation (Declined, Pending, Accepted,Expired ) |
| string | Email address to which the invitation was sent (will have value only if invitation is sent to person who is not part of the learning system) | |
| created_at | integer | Time when the record was created |
| updated_at | integer | Time when the record was updated |
Modify Table: messages This change is required so that it is easy to identify and categorize the messages.
| Column_name | type | Description |
|---|---|---|
| type | string | type of message (e.g. General, Notification) |