Main Page: Difference between revisions

From Expertiza_Wiki
Jump to navigation Jump to search
No edit summary
(Reverting Homepage Edits - I believe this was a mistake done by some student who, instead of the OSS project page of his team, modified the homepage itself. I am reverting back the changes till the time when the page was correctly written.)
Line 1: Line 1:
== '''E1746. [Test First Development] Refactor user.rb''' ==
==Expertiza==
==Expertiza==
* [[Expertiza documentation]]
* [[Expertiza documentation]]
Expertiza is an open source project based on Ruby on Rails framework. Expertiza allows the instructor to create new assignments and customize new or existing assignments. It also allows the instructor to create a list of topics the students can sign up for. Students can form teams in Expertiza to work on various projects and assignments. Students can also peer review other students' submissions. Expertiza supports submission across various document types, including the URLs and wiki pages.


==Course-Specific Topics==


* [[CSC/ECE 517 Summer 2008]]
* [[CSC/ECE 517 Fall 2010]]
* [[CSC/ECE 517 Fall 2011]]
* [[CSC/ECE 517 Fall 2012]]
* [[CSC/ECE 517 Fall 2013]]
* [[CSC/ECE 517 Fall 2014]]
* [[CSC/ECE 517 Fall 2015]]
* [[CSC/ECE 517 Fall 2016]]
* [[CSC/ECE 517 Spring 2014]]
* [[CSC/ECE 517 Spring 2015]]
* [[CSC/ECE 517 Spring 2016]]
* [[CSC/ECE 517 Spring 2017]]
* [[CSC/ECE 517 Fall 2017]]
* [[CSC 456 Spring 2011|CSC 456 Spring 2012]]
* [[ECE 633]]
* [[KCU]]
* [[Progress reports]]


==problem Statement==
==Application Behavior==
The following tasks were accomplished in this project: 
* [[Grading]]
*1.Complete the pending tests in user_spec.rb
*2.Refactor get_user_list method.Move if conditions to corresponding subclasses (eg. ta.rb, instructor.rb) with same method name,replace the conditional with the relevant method calls.
*3.Refactor self.search_users method,Extract duplicated code to a new method.
*4.Rename following method and change all other places it is used.
  is_recursively_parent_of → recursively_parent_of?
  is_creator_of? →  creator_of?
  is_teaching_assistant_for? →  teaching_assistant_for?
  is_teaching_assistant? →  teaching_assistant?
*5.Use find_by instead of dynamic method.


== Drawbacks and solutions==
==Metaprogramming==
* [[CSC/ECE_517_Spring_2013/ch1b_1k_hf|Lecture on Metaprogramming]]


*Finish the pending test.
==Development==
*There are many pending tests needed to be completed.The file is the following and all the pending tests has passed.
https://github.com/AnranZhou/expertiza/blob/master/spec/models/user_spec.rb


== new implementation==
''Expertiza now has a Java dependency, so the machine you are using to develop Expertiza on should have the JVM installed.''
*sends email when particpant is added in assignment.
*sends email when suggestion is given by student.


* [[Setting Up a Development Machine]]
* [[Creating a Linux Development Environment for Expertiza - Installation Guide]]
* [[Using git and github for projects]]
* [[Using heroku to deploy your projects]]
* [[How to Begin a Project from the Current Expertiza Repository]]
* [[Git]]
* [[How to Change a User's Password on a Development Machine]]
* [[Debugging Rails]]


== code improvement==
==Production==
*1
* [[Deploying to Production]]
*2
* [[Downloading Production Data]]
 
* [[Accessing the Production Server]]
 
 
==Application Behavior==
* [[Grading]]
 
==Metaprogramming==
* [[CSC/ECE_517_Spring_2013/ch1b_1k_hf|Lecture on Metaprogramming]]


==Testing==
* [[Using Cucumber with Expertiza]]
* [[Rails Testing Overview]]
* [[Expertiza Continuous Integration]]


==References==
* [[Object-Oriented Design and Programming]]
* [[Object-Oriented Design and Programming]]

Revision as of 18:37, 27 October 2017