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 1: Line 1:
== About Expertiza ==
== 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 feedbacks as well.
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===
===Github link===
Line 15: Line 15:
Currently, there are 2 ways to find other students to join your team:
Currently, there are 2 ways to find other students to join your team:


1.If your team is not full, you could invite people by inputting his/her UnityID. It will send an invitation to certain user. If s/he accept your invitation,s/he will leave original team and join your team.
1.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.


2.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.  
2.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.  


It would be better for students who do not have team yet or whose team is not full yet to be able to see a list of students who don’t already have teams. So too for instructors.
It would be better for 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. So too for instructors.




== Task Description ==
== Task Description ==


====Problem 1====
====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.
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.


====Problem 2====
====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​ ​original​ ​team​ ​and​ ​join​ ​in​ ​your​ ​team.​ ​It​ ​will​ ​be​ ​more straightforward​ ​than​ ​typing​ ​UnityID.
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.


====Problem 3====
====Change Request 3====


For​ ​instructor​ ​end:  Display​ ​a​ ​list​ ​of​ ​​students​ ​who​ ​do​ ​not​ ​have​ ​team​ ​with​ ​invitation​ ​links​ ​in​ ​teams#list page  
For​ ​instructor​ ​end:  Display​ ​a​ ​list​ ​of​ ​​students​ ​who​ ​do​ ​not​ ​have​ ​team​ ​with​ ​invitation​ ​links​ ​in​ ​teams#list page  
Line 53: Line 53:
*An instructor sees only the list of the students who do not have teams with invitation link.
*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.
*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.
*


== Code coverage ==
== Code coverage ==


Based on the scenarios we added, code coverage increased by 0.2%.
More report could be found from below link:
*https://github.com/expertiza/expertiza/pull/1026


== Testing in UI ==
== Testing in UI ==


===Problem 1 and Problem 2===
===Change Request===


====Steps====
====Steps====
1. Login as instructor/TA (who has the privilege to view summary of reviews for all rounds)
2. Choose an assignment and go to summary page
You would see a page similar to below with sorting enabled on specific columns on the right side of name.
[[File:Summary_page_with_sorting_enabled.png|frame|upright|center]]


====Screenshots====
====Screenshots====
Below are the screenshots displaying the fix :
=====Round 1=====
[[File:Sorting_on_criteria_round1.png|frame|upright|center]]
[[File:Sorting_on_avg_round1.png|frame|upright|center]]
[[File:Sorting_on_score_round1.png|frame|upright|center]]
=====Round 2=====
[[File:Sorting_on_criteria_round2.png|frame|upright|center]]
[[File:Sorting_on_avg_round2.png|frame|upright|center]]
[[File:Sorting_on_score_round2.png|frame|upright|center]]
=====Author Feedback=====
[[File:Sorting_on_criteria_author.png|frame|upright|center]]
[[File:Sorting_on_avg_author.png|frame|upright|center]]
[[File:Sorting_on_score_author.png|frame|upright|center]]
===Problem 2===
====Steps====
1. Login as a TA
====Screenshots====
You would be directed to the hop page displaying all courses a TA has privilege to view.
[[File:Courses_screen_ta.png|frame|upright|center]]
Below is the db result which matches with the results displayed on the screen
[[File:Db_result_courses_ta.png|frame|upright|center]]


== Visual Demo of the fix ==
== Visual Demo of the fix ==
A video explaining the fix can be found at below location:
[https://www.youtube.com/watch?v=-jziQI4T--0&feature=youtu.be]


== Other links ==
== Other links ==
Pull request link :
*https://github.com/expertiza/expertiza/pull/1026

Revision as of 03:12, 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, you 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:

1.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.

2.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.

It would be better for 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. So too for instructors.


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.

Code coverage

Testing in UI

Change Request

Steps

Screenshots

Visual Demo of the fix

Other links