CSC/ECE 517 Spring 2023 - E2348 Replicate Roles and Institution UIs ReactJS

From Expertiza_Wiki
Jump to navigation Jump to search

Overview of Expertiza

Expertiza is a learning management system that is developed with Ruby on Rails and is accessible as open source software. It can create assignments, tests, assignment teams, and courses, among a wide range of other features and functions. It also has a thorough system for giving other teams and groups of teammates peer reviews and feedback. The files that are largely addressed in this project, such as assignment_node.rb, course_node.rb, team_node.rb, folder_node.rb, and questionnaire_node.rb, are essential in executing this functionality.

Description of Project

Files Modified

Changes to app/models/assignment_node.rb

 #  Change Why?
1 Redefined self.get method and added two new methods self.get_assignment_query_conditions and self.get_assignments_managed_by_user. The self.get method calls these two methods and creates the database query for getting the assignments. Creating two extra methods and calling them from self.get makes the code readable and uniform among all the files.

Changes to spec/models/course_node_spec.rb

 #  Change Why?
1 Changed the method name from get_survey_distribution_id to get_course_survey_distribution_id in the test case where it is used Any changes made to the name of methods in the files should also be reflected in the test cases for them to pass successfully. If a method name is changed in a file and the same is not updated in the test case, the test case will fail

Testing

Testing was not in the scope for this project as it did not involve creating new methods or functions. However, care was taken that the existing test cases pass after refactoring the code as mentioned in the previous sections. Screenshots for all passing test cases have been attached below

Relevant Links

Credentials

Username: instructor6

Password: password

Contributors to this project

  • Palash Rathod (unityid: prathod, github: palash27)
  • Neha Kale (unityid: nkale2, github: nehakale8)
  • Vansh Mehta (unityid: vpmehta2, github: vanshmehta-7)