User:ImPacific/GSoC proposal 2014

A system for reviewing funding requests

 * Public URL: (https://www.mediawiki.org/wiki/User:ImPacific/GSoC_proposal_2014)
 * Bugzilla report: (link to the related report at http://bugzilla.wikimedia.org )
 * Announcement: (link to the announcement of your proposal at the wikitech-l mailing list.

Name and contact information

 * Name: Prashant Gurumukhi
 * Email:psg.1992@gmail.com
 * Location: Nagpur, India.
 * Typical working hours:10:00 AM to 2 PM (IST) and 8:00 PM to 2:00 AM (IST)

Synopsis
Wikimedia foundations has several programs such as IEG, conference scholarship and several other similar programs. IEG i.e. "Individual Engagement Grants" support Wikimedians to complete projects that benefit the Wikimedia movement. IEG fund individuals or small teams to organize, build, create, research or facilitate something that enhances the work of Wikimedia’s volunteers. Individuals or teams submit their proposals which are then assessed by the grantmakers on multiple dimensions and are then considered for funding.

The goal of this project is to either create or adapt a free and open source review system for funding requests, applicable to Individual Engagement Grants and similar programs. The system will allow the administrator to specify the criteria by which the grants will be judged. A defined set of reviewers will score and comment on each application. After this process the system will average the score of all reviewers and apply relative importance values specified by the administrator. Report showing how each application has been assessed will be generated. The system will hence make the work of grantmakers easy and succinct.
 * Possible mentors: Siko Bouterse, Bryan Davis, Dan Garry

Approach
Upon analysis of existing FOSS applications if the core requirements are not met, following steps may be adopted to develop an application from scratch. Development of the application can be broken down into three parts: 1) Administrator of grant review system 2) Reviewer 3) Grant Providers


 * 1) Administrator:
 * Sets the campaigns (Eg. IEG, wikimania scholarships, conference scholarship)
 * Defines the rules that should be used by reviewing committee for the campaign selected above.


 * 2) Reviewer:
 * Based on core requirements and the rules set by administrators, applications will be ruled out as relevant/irrelevant.
 * Relevant applications will go ahead for further scrutiny where they will be scored on multiple dimensions on a some scale. All the dimensions will be in a drop down list and each one of them will have 5 radio buttons(or more depending upon the scale). A comment box will be provided here.
 * Average score(final score) for each application(in a campaign) will be generated on the basis of which they will be prioritized and submitted to grant providers. A report will be generated showing how each application has been assessed.


 * 3) Grant Providers:
 * Calls for reports on average scores by reviewers(prioritized list) and recommend applications to fund.

Details on Deliverables
During this time I plan to set up the developer environment, get familiar with coding conventions and mentors of the project Research for existing FOSS applications is carried out. If we don't find one then wikimania scholarship aap is studied thoroughly. Here the user interface is created. Administrator UI is different than that of reviewers and grant makers. Administrator UI allows to set campaigns and show all the rules and criteria to be used by reviewers. How one criteria weighs against another will be clearly expressed so that reviewers can make good decisions. Reviewer's UI will have more functionality since it will involve forms that will be used to rate applications. If we've found any FOSS applications meeting our requirements then tweaking forms accordingly would be done here. Or else forms from scholarship app will be used or changed as per the requirements. Forms generated in task 6 will be connected to databases so that all the information is stored. Reviewers form will be created which can be used to score applications on multiple dimensions. A simple dropdown menu will display all the dimensions and rating will hence be an easy job to do(radio buttons). Algorithm to calculate final scores by taking in all the reviewed application's final score and generating lists of refined applications will be done here. Final touches, any improvement in UI, finalizing everything, searching for bugs. This task will involve testing the code and making it deployable to Wikimedia Foundation Production cluster. Final Documentation of the project and code submission to google.
 * Task 1 & 2:
 * Task 3:
 * Task 4:
 * Task 5:
 * Task 6:
 * Task 7:
 * Task 8:
 * Task 9:
 * Task 10:
 * Task 11:

Participation
Email, Gtalk and google groups has been very simple way of communicating for me. I'm subscribed to mailing list wikitech-I which I find very informative and helpful. Communicating over emails or Gtalk would be easy and I'll be mailing the progress related to project regularly. I would also make a wiki page for the project where I will be posting all the updates regarding the project. I would prefer Git Hub for maintaining the source code.

About you
I'm Prashant Gurumukhi, a junior at Shri Ramdeobaba College of Engineering and Management Nagpur, currently pursuing my Bachelor of Engineering program under the Department of Electronics Engineering. Building websites and web applications has been very interesting for me. Looking at Opensource work going on everywhere I feel the need to contribute something myself and that's why I'm here.
 * How did you hear about this program?
 * I read about the program browsing joomla's developer page.
 * Will you have any other time commitments, such as school work, another job, planned vacation, etc., during the duration of the program?
 * I have end semester examination between May 12 & May 26, during this time I won't be able to work much. Other than this I dont have any Obligation and will be Committed to work.

Past experience
I've used Joomla CMS to make website and that's the only experience I've had so far. As a contributor this will be my first experience.
 * Please describe your experience with any other FOSS projects as a user and as a contributor: