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 102: Line 102:




[[File:Uml-advertisement.jpg|frame|upright|center]]


== Test Plan ==
== Test Plan ==

Revision as of 02:34, 15 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 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 the 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.

Student: Advertisement icon doesn't appear in Chrome browser.

Instructor: Advertisement icon doesn't appear in Chrome browser.

Advertisement icon appears in Mozilla browser but not in the cell it should appear rather it is visible under "Actions" column.

Sending invitation to a particular student using their unity id as per below.

Creating advertisements for joining a team (this is available only after signing up a topic).

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 a 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

USE CASE SCENARIO

For Students

  • USE CASE 1-

A student can create advertisement links for his/her team, which can be used by other students to join their team.

  • USE CASE 2-

A student can click on an advertisement link to join a team

  • USE CASE 3-

A student can view a list of advertisement links.

  • USE CASE 4-

A student can respond to other students who requested to join his/her team by clicking on the invitation link.

  • USE CASE 5-

A student can send an invite to other students to join his/her team using their unity ID.

  • USE CASE 6-

A student can accept an invitation for joining a team.

  • USE CASE 7-

A student can see a list of students without teams.


For Intructors

  • USE CASE 1-

An Instructor can view a list of students without teams.

  • USE CASE 2-

An Instructor can view a list of teams.

  • USE CASE 3-

An Instructor can view a separate list of students who don’t have teams yet.

  • USE CASE 4-

An Instructor can add a student to a team.


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

Inviting students by creating an advertisement.

Once a student creates an advertisement, it would appear in the sign up sheet as below. It would be visible to all other students visiting sign up sheet.

Once a student decides to respond to the advertisement, he clicks on the icon corresponding to the team and topic. He sees the description of the advertisement and a link to respond to it.

The student would be presented by a form as below once he/she chooses to request for an invitation.

Student would respond by completing the form and clicking on create. His request would be confirmed by showing a screen as below:

Team receiving the request would see the incoming request on his "your team" view, from where he could send invites for joining the team.

  • Note - this approach was considered to avoid random assignment of student into a team.

A student could chose more than 1 team to respond to their advertisements. In that case, the team accepting 1st would get the student into their team and it would be complex to handle the other invitations as the student who has sent the invitation would be juggling around or may not be able to choose the best fit.

  • Our take - Each student may choose to respond to more than 1 advertisements but also should have choice of selecting teams as per their comfort.

When a student respond to an advertisement, the team receiving it should send an invitation if they find the student matching the criteria and the student then choose to accept one out of all the invitation he receives.

Below screenshots shows the steps:

The team who has got a response on their advertisement would see the incoming request, which they can accept or decline.

Once the team accepts the invitation, an invite would be sent to the student to join the team. The team could see their sent invitation as below:

The student sees the invitation on his/her "your team" view as below:

Once the student chooses to accept the invitation, he/she could click on the accept link, upon which the user would be presented with a prompt dialog to confirm the acceptance as the student would be removed from the current team and placed into the team whose invitation he/she would accept.

Upon successful acceptance, he/she becomes a member of the team.


All other students who have not created advertisements, each student would see their list on their "your team" view so that they could invite them by an easy "Invite" link as displayed below:

Team Information

Tushar Pahuja
Pragam Manoj Gandhi
Nielarshi Kumar
Abhishek Bhardwaj