CSC/ECE 517 Fall 2017/E1783 Convolutional data extraction from Github: Difference between revisions

From Expertiza_Wiki
Jump to navigation Jump to search
Line 48: Line 48:
bower install --allow-root
bower install --allow-root
thin start
thin start
== On a Local Machine ==
We have used MacOS, so the following steps are in regard to MacOS. The following steps will help you set up Expertiza project in your local machine. The steps are comprehensive amalgamation of steps mentioned in Development Setup, the documentprovided and also few steps that were missed in both. The order we followed:
#Fork the git repository mentioned above
#Clone the repository to your local machine
Install [http://brew.sh/ Homebrew]
#Install RBENV
brew update
brew install rbenv
brew install ruby-build
#Install dependencies
brew install aspell gcc47 libxml2 libxslt graphviz
#Install gems
export JAVA_HOME=/etc/alternatives/java_sdk
bundle install
#Change yml files
#Go to expertiza/config and rename secrets.yml.example to secrets.yml
#Go to expertiza/config and rename database.yml.example to database.yml
#Edit database.yml to include the root password for your local MySQL in the “password” field
#Install mysql (https://gist.github.com/nrollr/a8d156206fa1e53c6cd6)
#Log into MySql as root (mysql is generally present in /usr/local/mysql/bin/)
mysql -uroot -p
#Create expertiza user
create user expertiza@localhost;
#Create the databases
create database pg_development;
create database pg_test;
#Set privileges for expertiza user
grant all on pg_development.to expertiza@localhost;
grant all on pg_test.to expertiza@localhost;
#Install javascript libraries
sudo apt-get install npm
sudo npm install bower
bower install
#Download the expertiza scrubbed library (https://drive.google.com/file/d/0B2vDvVjH76uEMDJhNjZVOUFTWmM/view)
#Load this sql file into pg_development database created using the method mentioned here.
#Run bundle exec rake db:migrate
#Run bundle exec rake db:test:prepare
#Run rails s
#Open browser and test localhost:3000
#Login credentials
Username - instructor6
Password - password

Revision as of 15:26, 27 October 2017


GOAL:

A feature that integrates Github metrics into Expertiza to help instructors grade the projects by providing more information of the workload of individuals and could do early detection on failing projects based on groups’ working pattern. This wiki page documents the changes made as a part of E1783 which allows users with instructor to view Github metrics for a students' submitted assignment.

INTRODUCTION

Expertiza is a web application where students can submit and peer-review learning objects such as assignments, articles, code, web sites, etc. Convolutional data extraction from Github integrates Github metrics into 'Expertiza'- an Open source project in order to help instructors grade the projects by providing more information of the workload of individuals and could do early detection on failing projects based on groups’ working pattern. By convolutional data, here we refer to the fields of the dataset which cannot be extracted directly, such as the working pattern, which is the amount of commits/code/files the pull request added/modified/deleted on each day in the whole project period. The project period is a range of days that can be tracked on Expertiza.

For metrics we have considered following :

o Number of commits everyday throughout the project’ s period.

o Number of files changed everyday throughout the project’ s period.

o Lines of code changed everyday throughout the project’ s period.

SETUP FOR EXPERTIZA PROJECT

Docker:

The Docker has been set up on a Windows PC and steps are given below:

Start Docker on Windows

docker run --expose 3000 -p 3000:3000 -v //c//Users//Srikar//Expertiza://c//Users//Srikar//Expertiza -it winbobob/expertiza-fall2016

/etc/init.d/mysql start mysql -uroot -p show databases; quit

git clone https://github.com/srikarpotta/expertiza.git cd expertiza cp config/database.yml.example config/database.yml cp config/secrets.yml.example config/secrets.yml

bundle install rake db:migrate sudo apt-get install npm npm install -g bower

sudo rm /usr/bin/node sudo ln –s /usr/bin/nodejs /usr/bin/node bower install --allow-root thin start