CSC/ECE 517 Fall 2017/E1793. Help students find teams to join Team1964: Difference between revisions

From Expertiza_Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 24: Line 24:
Below screenshots represents the description above.
Below screenshots represents the description above.


[[File:Advertisement_mozilla_before.png|frame|upright|center]]
[[File:A_mozilla_before.png|frame|upright|center]]


[[File:Invite_unity_id_before.png|frame|upright|center]]
[[File:Invite_unity_id_before.png|frame|upright|center]]


[[File:Advertisement_by_teammate_before.png|frame|upright|center]]
[[File:A_by_teammate_before.png|frame|upright|center]]


[[File:Advertisement_chrome_before.png|frame|upright|center]]
[[File:A_chrome_before.png|frame|upright|center]]


[[File:Advertisement_instructor_chrome_before.png|frame|upright|center]]
[[File:A_instructor_cr_before.png|frame|upright|center]]


'''Change Request requirements:'''
'''Change Request requirements:'''
Line 74: Line 74:
[[File:Accepted_request_after.png|frame|upright|center]]
[[File:Accepted_request_after.png|frame|upright|center]]


[[File:Advertisement_after.png|frame|upright|center]]
[[File:A_after.png|frame|upright|center]]


[[File:Advertisement_mozilla_after.png|frame|upright|center]]
[[File:A_mozilla_after.png|frame|upright|center]]


[[File:Advertisement_request_invitation_after.png|frame|upright|center]]
[[File:A_request_invitation_after.png|frame|upright|center]]


[[File:Advertisement_response.png|frame|upright|center]]
[[File:A_response.png|frame|upright|center]]


[[File:Invite_unity_id_after.png|frame|upright|center]]
[[File:Invite_unity_id_after.png|frame|upright|center]]

Revision as of 18:57, 6 November 2017

About Expertiza

Expertiza is a Ruby on Rails based Open Source project. It is a collaboration tool which lets users with different roles (student, instructor, teaching assistant) to collaborate on a course in an institution. A collaboration could be for an assignment where students teams up for an assignment and instructors grades them on the basis of their submission. Students could review other's works and give feedback as well.

Github link

Wiki link

Problem Statement

  • For team-based assignments, it always takes time to find suitable team members.
  • We already have bidding, which could help you to join in a team with other team members hold similar bidding preferences. However, a student may not be satisfied with automated team formation and want to switch to another team.
  • In this project, we will build a new feature to help students find teams to join.

Currently, there are 2 ways to find other students to join your team:

  • If your team is not full, you could invite people by inputting his/her UnityID. It will send an invitation to a certain user. If s/he accept your invitation,s/he will leave original team and join your team.
  • You could create an advisement by clicking “Your team” link and then clicking “Create” link under “Advertisement for teammates” section. Then your advertisement will appear the last column of the signup sheet page with a horn icon. In this way, all classmates could see your advisement. Someone could send a request to join your team. If you accept their request, s/he will leave original team and join in your team.

Below screenshots represents the description above.

Change Request requirements:

  • Students who do not have a team yet or whose team is not full yet to be able to see a list of students who don’t already have teams.
  • Students should have an option of inviting other students to join their teams.
  • Instructors should be able to view list of students who don't have teams.

Task Description

Change Request 1

Fix the second way to find​ ​other​ ​students​ ​to​ ​join​ ​your​ ​team. Currently,​ ​after​ ​you​ ​create​ ​an​ ​advertisement,​ ​the​ ​horn​ ​icon​ ​does​ ​not​ ​appear​ ​in the​ ​the​ ​last​ ​column​ ​of​ ​the​ ​signup​ ​sheet.

Change Request 2

For​ ​student​ ​end: Display​ ​a​ ​list​ ​of​ ​​students​ ​who​ ​do​ ​not​ ​have​ ​a​ ​team​ ​with​ ​invitation​ ​links​ ​in student_teams#view​ ​page ○ You​ ​could​ ​invite​ ​students​ ​to​ ​your​ ​team​ ​by​ ​clicking​ ​invitation​ ​links.​ ​If​ ​s/he​ ​accept your​ ​invitation,s/he​ ​will​ ​leave​ the original​ ​team​ ​and​ ​join​ ​in​ ​your​ ​team.​ ​It​ ​will​ ​be​ ​more straightforward​ ​than​ ​typing​ ​UnityID.

Change Request 3

For​ ​instructor​ ​end: Display​ ​a​ ​list​ ​of​ ​​students​ ​who​ ​do​ ​not​ ​have​ ​team​ ​with​ ​invitation​ ​links​ ​in​ ​teams#list page

Test Plan

Edge cases

We will be writing automated tests to check if the changes made are working correctly.

For that, we considered the following scenarios

  • If the team is full, the person who received an invitation link would not be able to accept that.
  • If a student leaves a team, then he is able to see his previous teammates in the available list of students that do not have a complete team and have not created an invitation link.
  • Student sees a horn icon in the last column if any of the students have created an advertisement for that topic.
  • The list of students contains only those students who don't have a team yet or whose team is not yet complete and who have not created an advertisement link.
  • A student can create an invitation link only if his team is not yet full.
  • The same student who accepted the invitation link actually gets added to the team.
  • A student won't be able to send the invitation to himself as he is already a member of that team.
  • An instructor sees only the list of the students who do not have teams with invitation link.
  • If a student joins a team using an invitation link, then he gets all the rights that a team member of that team has. Ex: Now, he will be able to approve a team join request and then correspondingly send the invitation for joining the group to that student.

Visual representation of planned changes