User:Rahulmishra22/A System for reviewing Funding Requests

A system for reviewing funding requests

edit
Public URL
https://www.mediawiki.org/wiki/Google_Summer_of_Code_2014#A_system_for_reviewing_funding_requests
Announcement
http://lists.wikimedia.org/pipermail/wikitech-l/2014-March/075384.html

Name and contact information

edit
Name
Rahul Mishra.
Email
priyrahulmishra AT gmail DOT com
IRC or IM networks/handle(s)
rahulmishra on Freenode
Blog
http://rahulxarvis.blogspot.in/
Twitter handle
mishra_2291
Github
https://github.com/Rahul91/
Location
Kolkata, India.
Time zone
UTC + 5:30 hours IST
Typical working hours
1800 IST - 0000 IST(weekdays), 1100 IST - 1500 IST & 2000 IST - 0100 IST

Synopsis

edit

Wikimedia Foundation Grantmaking aims at increasing the quantity, quality, diversity, and reach of free knowledge. Wikimedia Grantmaking is a collaboration between grantees, WMF staff, volunteer committees, and Wikimedians from across the globe.
Individual Engagement Grants support Wikimedians to complete projects that benefit the Wikimedia movement. It focus is on experimentation for online impact. 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, conference scholarships, and similar programs. Individual Engagement Grants review process currently uses an ad hoc scoring system involving Google Forms to collect input from reviewers, which is unwieldy and won't scale well as the number of proposals to review increases. Also findings from initial investigations suggests a need for a new scoring tool.

There are basically four core user of this reviewing system, they being.

Role Domain of Work / Responsibilities
As an administrator of the grant review system To create new grant campaigns, consisting
  • defining reviewers
  • review criteria
  • data to be reviewed
  • data grouping
As a grant administrator or reviewer To mark grant applications as eligible or ineligible
As a grant reviewer To score a grant application on multiple dimensions
As a grant provider or administrator To view reports on the aggregate reviewer scores for grant applications and to share results and to and select applications to fund.

In a nutshell the system will allow an administrator to specify the criteria by which the grants will be judged. A defined set of reviewers will then score and comment on each application. Once this scoring is complete, the system will average the scores of all of the reviewers and apply the relative importance values specified by the administrator to produce a report showing how each proposal has been assessed.

Benefits
  • The reviewing system will be more efficient than the current process, which is unwieldy and does not suits large scale implementation.
  • The reviewing can be done on multi-dimensional criteria, specified by the admins.
  • The system will greatly aid the grantmakers in the selection process for funding requests.


Possible mentors
Siko Bouterse (Grantmaking), Bryan Davis (Platform Engineering), Dan Garry (Product/Platform Engineering)

Deliverables

edit

Following are the list of deliverables that are divided into Coding, Deploying, Testing and Documentation and also on the basis of Optional/Required.

S.No. Deliverables Optional/Required Category
1 A simple, user-friendly Dashboard for Admininstator, Reviwer and Grant Provider. Required Coding/Designing.
2 A system that allows multiple reviewers to score IEG proposals, on multi-dimensional criteria as defined by admins. Optional Coding
3 A system flexible enough to be reused for other types of applications like event scholarships, etc later on. Required Coding
4 A system that outputs the total fund requested and total fund granted. Required Coding
5 Hosting on Wikimedia Servers. Required deploying
6 Unit Testing and Integration testing using White-box testing Required Testing
7 Final Documentation Required Documentation


Also, I have divided the entire project in four major phases :

  • Preparation Phase
 * Involves the understanding of the project in depth, and polishing the concepts of PHP and mysql.
 * Read previous project Documentation, if any.
 * Establishing proper co-ordination with project mentors.
  • Development Phase
 * Develop the basic Dashboard for Administrators, Reviewers, and Grant Providers.
 * Working on database connectivity portion.
 * Working on table design and there attributes, as required.
 * Improve the Dashboard and discuss the  with mentors.
 * Improve the Database tables, and there attributes, and discuss it with mentors.
 * Discuss with the mentors for the potential improvements in the project.
  • Testing/Deploying Phase
 * Deploying on wikimedia servers
 * Review all the functionalities of the Dashboard and Database.
 * Testing all the functionalities.
 * Fixing of bug, if found.
  • Documentation Phase
   * Work on Documentation part.
   * Discuss the Documentation with the mentors and improve it. 
   * Prepare a final Documentation of the whole project.

Timeline

edit
Duration Task
April 22 - May 18 Preparation Phase Complete
May 19 Official Begining of GSoc-2014 Coding
May 19 - May 25 Develop the basic Dashboard for Administrators, Reviewers, and Grant Providers.
May 26 - June 2 Working on database connectivity portion.
June 3- June 10 Working on table design and there attributes, as required.
June 11 - June 22 Improve the Dashboard and discuss the with mentors.
June 23 Submit Mid term Evaluations
June 24 - July 10 Improve the Dashboard, and improve the Database part, and discuss it with mentors. Also discussing the potential improvements in the project.
June 11 Development Phase Complete
July 12 - July 22 Deploying it on the server and Review/Testing all the functionalities of the Dashboard and Database.
July 23 - July 29 Fixing bug, if found.
July 30 - Aug 4 Documentation of the project and discuss with mentors.
Aug 12 Prepare a Final Documentation
Aug 13 - Aug 18 Project Complete, Submit for final evaluation.

Participation

edit

As i am from a different timeline as from mentors, i will work in night, so that i can be in regular contact with them, also my typical work time explains that i like to work late night. I push my codes on github, so for this project also, i will be using github for pushing my codes, i will use gerrit for pushing my commits for review. Also i would keep an log of my progress during the project. For every deliverables i would keep a time-limit or deadline which will help me maintaining the work flow of entire project and i will be using scientific methodologies for trying new codes.

Communication

For keeping in touch with my mentors i will be using IRC and public mailing list. Also video chats can be an option, which is a perfectly viable option for me. Also personal mail to mentors is not a good option, but i can use it as a last resort. Also i will regularly update my mentors about my progress.

About me

edit

I am Rahul Mishra,final year undergraduate and pursuing my B-Tech form Netaji Subhash Engineering College having majors Computer Sciences & Engineering. I mostly code in C and Java, along with these i am also comfortable in C++, python, Shell scripting, PHP, JavaScript, CSS and HTML. I have been using Free and Open Source Softwares, since last two years, and am completely familiar with things like Git, Github, Gerrit, IRC, mailing list and mail posting etc. My favourate subjects are Networking and Operating Systems. Currently i am working on Cryptography, implementation of SHA-1 to be specific, which is also my final year project. Apart from academics, i am very much interested in Robotics, specially Autonomous Robotics, i am also one of the Robotics Head at Phoenix. Also i am a member of Nixal, the Linux-User group of our college.
Link to my Userpage: Rahulmishra22
What drives me to contribute to this project, is my willingness to learn new and cool stuffs, i have always had some craving towards science & technology, particularly related to computers. Also i want to start contributing to open source, and mediawiki is a perfect platform for me. I like the philosophy of FOSS and want to contribute in some way or other.

Education completed or in progress
In Progress, currently in Final Year.
How did you hear about this program?

I have heard about the program from my college friends and batchmates.

Will you have any other time commitments, such as school work, another job, planned vacation, etc., during the duration of the program?

I will be having my regular college till May, just that and else i have no time constraints and i am sure i can manage my regular college and examinations without having any effect on this program.

We advise all candidates eligible to Google Summer of Code and FOSS Outreach Program for Women to apply for both programs. Are you planning to apply to both programs and, if so, with what organization(s)?

Only GSoC.

Past experience

edit
Please describe your experience with any other FOSS projects as a user and as a contributor

This will be my first experience with FOSS project as a contributer,so i may fall behind in experience but i have worked in projects involving team and i know what it really takes to be working as a team . Before i have always used FOSS and evaluated it as an end user.

What project(s) are you interested in (these can be in the same or different organizations)?

I am very new to mediawiki in general, but in this short span of time i have tried fixing

The experience was exhilarating and thrilling, working and fixing under some time constraint was the biggest challange, but in last i succeeded in my endavour. Link to my gerrit account.


Any other info

edit

Following can be the Dashboards that can be used by Reviewers :

name description approved? requested amount note
Grants:IEG/Map atlas a short description from the idea page (first template) not scored yet $1,000
Grants:IEG/Gadget to do Foos and Bars a short description from the idea page (first template) yes $10,000 should talk to candidate about X
Total (Tools) Total amount you funded. $10,000 1 scored, 1 not yet


Following can be the Dashboard for Admin

Project id Project Name Project Discription Requested Amount Criteria Alloted Grant Status
xyz Foo depends on bar Short description of project $10,000
  • Criteria 1
  • Criteria 2
  • Criteria 3
Granted/Rejected/Pending

Following can be the Dashboards that can be used by Grant Reviewers :

name description Score requested amount note
Grants:IEG/Map atlas a short description from the idea page (first template) not done $1,000
Grants:IEG/Gadget to do Foos and Bars a short description from the idea page (first template)
  • Criteria 1 - 80
  • Criteria 2 - 56
  • Criteria 3 - 78
$10,000 should talk to candidate about X
Total (Tools) Total amount you funded. $10,000 1 scored, 1 not yet


Following can be the Dashboards that can be used by Grant Provider :

name description approved? Score requested amount note
Grants:IEG/Map atlas a short description from the idea page (first template) not approved yet not scored yet $1,000
Grants:IEG/Gadget to do Foos and Bars a short description from the idea page (first template) yes
  • Criteria 1 - 80
  • Criteria 2 - 56
  • Criteria 3 - 78
$10,000 should talk to candidate about X
Total (Tools) Total amount you funded. $10,000 1 scored, 1 not yet


Following can be the Dashboards that can be used by Grant Requester :

Project name description approved by reviewer? Scored requested amount Amount Granted note
Grants:IEG/Map atlas a short description from the idea page (first template) not approved yet not scored yet $1,000 none
Grants:IEG/Gadget to do Foos and Bars a short description from the idea page (first template) yes
  • Criteria 1 - 80
  • Criteria 2 - 56
  • Criteria 3 - 78
$10,000 $8,000 should talk to candidate about X
Total (Tools) 1 approved, one pending request 1 scored, 1 not yet Total amount you requested: $10,000 Total amount granted.:$8,000

See also

edit