CSC/ECE 517 Fall 2020 - E2077. Mentor management for assignments without topics E2024: Difference between revisions
Line 58: | Line 58: | ||
In the UI test we are going to | In the UI test we are going to | ||
1. Instructor/Admin verifies the selection of has topics button | 1. Instructor/Admin verifies the selection of has topics button<br> | ||
2. Student create team and invite others | 2. Student create team and invite others<br> | ||
3. When team size greater than half of max size, assign mentor and send emails | 3. When team size greater than half of max size, assign mentor and send emails<br> | ||
==References== | ==References== |
Revision as of 23:36, 28 October 2020
Project Overview
Background
Currently, Expertiza has no way to associate mentors with teams. For assignments with topics, like the OSS project, mentors are associated with topics, and then whichever team is assigned to the topic inherits the mentor for that topic, However, for assignments without topics (like Program 2), there is no good way to “automatically” assign mentors to projects.
Objectives
Implement code that will allow a mentor to be directly associated with a team. Notify mentor when they have been assigned to a team via email.
Previous Work
We learned from previous implementations and looked to avoid the following pitfalls when implementing our solution:
- Code was merged from the previous team, but not refactored, so a lot of unused code remained.
- Should have followed a better naming convention for methods
- Some redundant codes in the views could be DRYed out.
- Commented code should be removed.
- Some complex logic is added but not explained in the comments.
- Code should be placed in most relevant classes. (E.g. Do not put email code in the Team class).
- Documentation doesn't accurately represent implementation.
- Lacked sufficient detail for Test section.
Previous Implementation's Wiki
Program Design
We are proposing the following design with our implementation.
Currently instructors would see the corresponding view when looking at teams associated with an assignment:
Our team is proposing to add an additional "Mentors" column:
Files Modified
List all the files we changed when implementing our project
Models
- assignment.rb
- assignment_team.rb
- assignment_form.rb
- User.rb
Controllers
- assignments_controller.rb
- teams_controller.rb
Views TBD
Testing Plan
Edge Cases
The following are scenarios our team has thought about:
RSpec Test
UI Test
In the UI test we are going to
1. Instructor/Admin verifies the selection of has topics button
2. Student create team and invite others
3. When team size greater than half of max size, assign mentor and send emails
References
Github Repository:
Pull Request:
Previous Implementation's Wiki
Team
Santiago Sepulveda
Skieler Capezza
Liam Donovan
Javier Sanchez
Mentor: Yulin Zhang