Outreachy 15 proposal for "Improvements to Grants review and Wikimania scholarships web apps"
Closed, ResolvedPublic

Description

This is a project proposal for T174759: Improvements to Grants review and Wikimania scholarships web apps. Feedback is welcome

Profile Information

Name: Neha Jha
IRC nickname on Freenode: neha
Email: nj4710@gmail.com
Github: https://github.com/nj4710
User Page: https://phabricator.wikimedia.org/p/Nehajha/
Location (country or state): India (New Delhi)
Typical working hours (include your timezone): 3 PM to 5 AM (UTC+ 5:30)
Mentors @bd808 @Niharika

Synopsis

The aim of this project is to make the process of reviewing of scholarship application easier.
Iegreview is a web application that is used to accept and review grant requests. Scholarship is a similar application used to accept scholarship requests for Wikimania. Both applications are PHP (slim) based. The codebases for these apps are outdated. This proposal aims to complete the following:

  • Update codebase and required libraries
  • Improve backend of application
  • Reduce the complexity of existing solutions
  • Migration of codebase
  • Integrate required APIs such as OAuth, Banana checker etc.

Mentor interaction

I have contacted the mentors and also completed a microtask.

Links to microtasks -

Deliverables

PeriodTask
November 9Results announced
November 10 to November 30Community Bonding, Understanding issues/tasks, Study more about slim framework, reading documentation and coding guidelines, getting familiar with the project's codebase
December 1 to December 3Upgrade all the required libraries to their latest stable version, remove the unused ones for scholarship as well as iegreview
December 4 to December 17Work on integration of grantreview codebase with Wikimedia slimapp library T114969
December 18 to December 20Testing of all the work that has been done so far, report issues if any
December 21For iegreview, Add a confirmation box on removal of reviewers T108597, Testing
December 22 to January 5Read and understand OAuth, Integration with OAuth for both the apps using Mediawiki's Extension for OAuth T119534 T74292
January 6 to January 14Partial changes can leave the database in an inconsistent state, Figuring out which transactions can be grouped together, optimise the queries if required, Group related database transactions so that changes are not partial T91253
January 15 to January 21Handle framework exceptions in Wikimania Scholarship app T60070
January 22 to January 24Integrate banana checker with scholarship app, find areas of improvement in scholarships, solve related issues T121927
January 25 to January 26Migrate Scholarship app to diffusion T132173
January 27 to February 31Work on form validation for both the apps, perform integration testing, report all the bugs encountered so far
February 1 to February 5Investigate a little about wiki communities, work on automatically updated list of wiki communities in Scholarship app T155674
February 6 to February 13Convert scholarship app to log directly to Logstash T86967
February 14 to February 23CSRF warnings in scholarship app when users take a long time to fill out application T63269
February 24 to March 5Bug fixes, Documentation, and Testing of all the work that has been done so far

For iegreview following are the deliverables -

  • Upgrade versions of slimapp and other libraries
  • Updated codebase to use wikimedia/slimapp library T114969
  • Confirmation box on removal of reviewers T108597
  • Integration with OAuth T74292
  • Grouping related DB transactions T91253

For scholarships, I plan to deliver the following -

  • Migration to Differential T132173
  • Integration with OAuth T119534
  • Automatically updated list of wiki communities T155674
  • Integrate banana checker T121927
  • Handle framework exceptions T60070
  • CSRF Warnings T63269
  • Convert scholarship app to log directly on Logstash T86967

Stretch Goals

If we achieve the mentioned goals before time, I would like to take up the following -

  • Prevent server-side session clean up if the user takes longer to fill the form T87088
  • Convert Ieggrant review to log directly to logstash T86968
  • Setup project with translatewiki.net T74291

Participation

  • I will use Phabricator for creation/managing of issues.
  • I will work on a separate branch of git and upload the code on Gerrit and Diffusion on a regular basis.
  • I will be online on IRC during my working hours (3 PM to 5 AM UTC +5:30). Apart from that, I can also be contacted through email.
  • Code review will be done as comments on Gerrit and Diffusion.
  • I also plan to publish a blog for weekly updates.
  • I will communicate with mentors on IRC twice a week.
  • I will use test instances of both the apps for sharing my work.

About Me

I pursuing Bachelor of Technology in Computer Science. I am familiar with Version Control System. I have worked with the following:

  • Languages - C++, PHP, and Javascript
  • Framework - Nodejs, Expressjs, Bootstrap
  • Databases - Mysql
  • Operating Systems - Linux and Windows

How did you hear about this program?

I came across this article about Outreachy on medium. I was glad to hear that there are people who care about the underrepresented in tech and are taking measures to improve the current scenario.

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

As for time commitment, I can commit more than 40 hours a week for the project since I have winter vacations and also I will be taking half the number of credits a typical student takes in our college.

What does making this project happen mean to you?

This project is important to me since it gives me a plethora of learning opportunities like working on a real-world application which is used by hundreds of people, hacking a huge code-base, collaborating with a team. As a student, I have encountered many situations in which I want to attend a conference but can't afford it. Wikimania Scholarship app and Grants review solve this problem for people like me.

Past Experience

I have been a Linux user for 3 years now. I have contributed to the webcompat repo of Mozilla to get familiar with VCS. Here are some of my pull requests -

In my second year of engineering, I interned with a company in which I learned basic web application development using LAMP stack. I helped in developing an internal tool for the company that improves the process of employee management. It included features like project assignment of every employee, application of leaves, approval, and rejection of leave applications, circulating important notices, performance evaluation etc. During the course of my internship, I learned the following things -

  • git and GitHub
  • different techniques of requirement gathering of any software
  • work actively with a team
  • get used to Linux and command line and eventually fell in love with it
  • Databases(SQL) along with basic web development using PHP

In my third year, I interned with Tata Consultancy Services. During this internship, I and my teammate developed a web application that helps users to get RSS feeds, display the feed in a user-friendly manner and share it on social media. The backend was built on Nodejs and Expressjs. I have learned the following things -

  • getting familiar with Nodejs and Expressjs
  • working with npm
  • reading and understanding documentation of various libraries and frameworks such as Sequelize, node-feedparser etc

I was a part of Association of Computing Machinery Student Chapter in my college. I have organized coding workshops for people belonging to different age groups with the help of my society.
I am also a code maintainer in AlgoDs repository.

Related Objects

Nehajha created this task.Oct 9 2017, 1:58 PM
Restricted Application added a subscriber: Aklapper. · View Herald TranscriptOct 9 2017, 1:58 PM

Hi @Nehajha, thanks for taking the time to report this!
Could you add a task title please which describes this project proposal. You can edit the task summary by clicking Edit Task. Thanks!

Nehajha renamed this task from Insert project title here to Outreachy (Round - 15).Oct 9 2017, 6:31 PM
Nehajha updated the task description. (Show Details)
Nehajha updated the task description. (Show Details)

Minor feedback:

Login using social media platform such as gmail, facebook or twitter, along with testing of this feature

This is not exactly what is desired. The OAuth provider we would like to integrate with is MediaWiki's Extension:OAuth on the Wikimedia wiki farm.

(And this task still welcomes an actual summary of the proposal in the task's title/summary. :) )

The formatting for the proposal is a little off. Headings are usually wrapped in = signs. For example, == <heading> == or === <heading-smaller> ===.

The table seems to have an extraneous column in some rows. Maybe look around at some other tasks to understand the markup better. :)

Some content feedback -

Nehajha updated the task description. (Show Details)Oct 12 2017, 6:23 PM
Nehajha updated the task description. (Show Details)Oct 12 2017, 6:27 PM

The table seems to have an extraneous column in some rows. Maybe look around at some other tasks to understand the markup better. :)

That was due to a few extra spaces. Resolved :)

(And this task still welcomes an actual summary of the proposal in the task's title/summary. :) )

I will add a summary soon.

I have made a few changes in the proposal. However, the proposal is still open to feedback. I would love to hear everyone's feedback to improve the proposal.

It would be good to have the ticket numbers reflected in the deliverables table otherwise it's hard to figure out what exactly is being talked about.

Nehajha updated the task description. (Show Details)Oct 13 2017, 2:13 PM
Aklapper renamed this task from Outreachy (Round - 15) to Outreachy 15 proposal for "Improvements to Grants review and Wikimania scholarships web apps".Oct 13 2017, 2:16 PM
December 1 to December 8Upgrade all the required libraries to their latest stable version, remove the unused ones for scholarship as well as iegreview

This could use less time. 2-3 days should be plenty.

December 8 to December 20Work on integration of grantreview codebase with Wikimedia slimapp library T114969

This could possibly take more time but let's leave it as it is currently.

December 24 to December 27For iegreview, design the UI for confirmation box, Add a confirmation box on removal of reviewers T108597 , Testing

I don't think we need to design the confirmation box. It can be your standard JS confirmation box. Doesn't need more than a day.

December 28 to January 5Read and understand OAuth, Integration with OAuth for both the apps using Mediawiki's Extension for OAuth T119534 T74292

This could end up taking more time.

January 6 to January 14Convert scholarship app to log directly to Logstash T86967

This seems somewhat less important so we could move it down the schedule.

January 25 to January 30CSRF warnings in scholarship app when users take a long time to fill out application T63269

This one can take longer. It's worth a try but I would move it down the schedule as well, towards the end.

February 5 to February 11Migrate Scholarship app to diffusion T132173

This requires hardly any work from you. It's mostly for the Ops to take care of. Keep it in the schedule but don't allocate more than a day for it.

February 12 to February 15Group related database transactions so that changes are not partial T91253

Needs more time.

@Nehajha: Have you submitted your proposal in the Outreachy system? If not, you need to do that ASAP. I do not see your name in the list I got from the organizers.

I haven't completed the submission but I filled the eligibility details of the application. I did not get any information regarding my eligibility. Could you confirm this for me?

I haven't completed the submission but I filled the eligibility details of the application. I did not get any information regarding my eligibility. Could you confirm this for me?

The only Neha I see is "Neha Gupta". I think you should complete the submission first.

Nehajha updated the task description. (Show Details)Oct 22 2017, 1:51 PM
Nehajha updated the task description. (Show Details)Oct 22 2017, 5:54 PM
Nehajha updated the task description. (Show Details)Oct 22 2017, 7:11 PM
Nehajha updated the task description. (Show Details)Oct 23 2017, 6:02 AM

@Nehajha hello Neha! Thank you for submitting the proposal! I see that in the Outreachy application system, for question 8(iii), you have not provided a link to a curriculum. Could you please upload it in the next couple days? Thank you!

@Nehajha hello Neha! Thank you for submitting the proposal! I see that in the Outreachy application system, for question 8(iii), you have not provided a link to a curriculum. Could you please upload it in the next couple days? Thank you!

Hi @srishakatux! I have provided the link to my curriculum now. Thanks for considering my proposal.

@Nehajha thank you for sharing with us! We will look into it :)

Change 404230 had a related patch set uploaded (by BryanDavis; owner: Bryan Davis):
[integration/config@master] Add Neha Jha to trusted users

https://gerrit.wikimedia.org/r/404230

Change 404230 merged by jenkins-bot:
[integration/config@master] Add Neha Jha to trusted users

https://gerrit.wikimedia.org/r/404230

Aklapper closed this task as Resolved.Sun, Jul 8, 10:48 PM

Outreachy Round 15 ended in March 2018 and according to https://www.mediawiki.org/wiki/Outreachy/Round_15 this project happened. :)
So I am closing this task as resolved. Potential followup items can be handled in separate tasks. Thanks for your work!