CSC/ECE 517 Fall 2014/OSS E1464 vnn: Difference between revisions
Line 22: | Line 22: | ||
= Project Resources = | = Project Resources = | ||
[https://github.com/ | [https://github.com/joshnikhil234/expertiza GitHub Project Repository] | ||
[http://152. | [http://152.1.13.186:3000/ VCL IP Address] | ||
[http://wikis.lib.ncsu.edu/index.php/Expertiza Expertiza Wiki] | [http://wikis.lib.ncsu.edu/index.php/Expertiza Expertiza Wiki] |
Revision as of 18:35, 29 October 2014
E1464: Refactoring User model
The requirements provided for the Open Source System project of Expertiza were as follows :
Classes:
user.rb (295 lines)
What they do:
This model helps the user log in and checks whether the user is a student, admin or a super admin. It also helps reset passwords and assign instrcutors to the user.
What is needed:
- Writing proper getters/setters if necessary, otherwise remove getters/setters
- Replacing inefficient boolean logic (`if true` is not conditional)
- Replacing old-style ActiveRecord queries
- Using {} and [] instead of Hash.new and Array.new
- Not instantiating more than 1 instance variable per action
Introduction to Expertiza
Expertiza is a project developed using Ruby on Rails platform. It provides features like peer review, team assignments and submission of projects. This can be achieved by submitting code base, URL of hosted code on remote server and Wiki submissions. It is open source application and the code can be cloned from github. This application provides an efficient way to manage assignments, grades and reviews. This makes the process easier and faster when the class strength is large.
Expertiza is supported by National Science Foundation under Grant No. 0536558. Additional funding from the NCSU Learning in a Technology-Rich Environment (LITRE) program, the NCSU Faculty Center for Teaching and Learning, the NCSU STEM Initiative, and the Center for Advanced Computing and Communication.