===Profile Information
Name Arpan Singh
IRC nickname on Freenode ArpSins
E-mail corplexicon007@gmail.com
Github Arpan-29
University Netaji Subash University of Technology,Delhi
Location (country or state) Delhi, India
Typical working hours (include your timezone) 3:00 PM to 12:00 AM IST (+5:30)
===Synopsis
Introduction
Wikimedia envisions a world in which every single human being can freely share in the sum of all knowledge. It spans various projects, local chapters and support structures of the non-profit Wikimedia Foundation.
My goal for this Google Summer of Code is to “Upgrade WebdriverIO to the latest version for all repositories”
MediaWiki uses WebdriverIO, an open-source test automation framework, as it’s a primary testing framework. WebdriverIO v6.0 was released just a few days back, while it's the previous version, v5.0 was released in early December 2018. However, many of MediaWiki's repositories use v4.0 which has now been deprecated.
The main benefit of WebDriverIO: it simplifies commands by combining actions. So WebDriverIO is a framework that provides a binding to Selenium, that allows simplifying several Selenium commands for us.
Each repository first needs to be updated from version 4 to version 5 (T234314), only then to version 6 (T247254).
Subtasks:
T234314: Upgrade WebdriverIO to version 5 for all repositories
T247254: Upgrade WebdriverIO to version 6 for all repositories
This project really interests me as it involves automated testing and selenium, with which I have previously worked in the past and I am confident that I can complete this project successfully and develop the most efficient and optimized code.
- Possible Mentor(s) John Bolorinos (@jbolorinos-ctr ), Željko Filipin (@zeljkofilipin)
- Have you contacted your mentors already? Yes
===Deliverables
Community Bonding: May 4, 2020 - June 1, 2020
Making small changes and understanding the functionalities that I will work on the main project.
Enhance my understanding of the Wikimedia Foundation Community.
Discuss with mentors and put together precise components of my proposal, and include the necessary changes.
Learn how to develop tests for easy testing and verification of the work.
Week 1-3: June 1, 2020 - June 22, 2020
Work on upgrading the web driver version to 5
Check the integration of the webdriverIO.
Week 4: June 22, 2020 - June 29, 2020
Make sure the tests are running successfully.
Clean up Code and Documentation
First Evaluation: June 29, 2020 - July 3, 2020
Week 5-6: July 3, 2020 - July 17, 2020
Assimilate the changes and improvements suggested by the mentors.
Work on upgrading to version 6 of the WebdriverIO.
Week 7: July 17, 2020 - July 27, 2020
Testing of all code developed so far
Clean up code and documentation
Second Evaluation: July 27, 2020 - July 31, 2020
Week 8-9: July 31, 2020 - August 14, 2020
With new versions of the WebdriverIO there will be new features and methods, try to implement new features in the tests wherever possible so as to make the code optimized and efficient.
Work on other features,(if time permits).
Week 10:August 14, 2020 - August 24, 2020
Finish Testing.
Improve code quality and fix bugs, if any.
Documentation of final code.
Submission for final evaluation.
Final Evaluation
===Participation
Describe how you plan to communicate progress and ask for help, where you plan to publish your source code, etc
I will be working for about 7-9 hours daily i.e. 40+ hours weekly. I will be available on zulip during work hours and on email all the time.
During the contribution, I will push daily commits and send weekly pull requests. I will test thoroughly the search functionality and its additional features and make sure that the outcome is as it was planned to be. I will share screenshots and GIFs to show the actual working of the work done.
===About Me
I am currently pursuing the second year in Electronics and Communication Engineering from
Netaji Subash University of Technology, Delhi (formerly known as Netaji Institute of Technology).
By the end of the GSoC period, I will just start with my third year of Bachelors’s.
In the field of development, I have been writing Javascript Applications for the last 2 years and learned different libraries and frameworks like p5.js, React, Ember.js. I have mentored hundreds of students interested in the field of entrepreneurship and technology.
I have also worked as a Teaching Assistant at CodingNinjas.
I have also won and taken part in many hackathons both at college and National level.
I am also leading my college’s IOSD chapter, hosted and organized many workshops and seminars for the same. I have also mentored students in their programming journey and hope to continue doing the same.
Open source has been a very interesting approach to learning new skills, working on projects in a like-minded community and challenging yourself to what you know and learn what you don’t. Having developed tons of web apps, tools in Javascript, I am confident enough to go through any codebase and perceive what’s going on.
After going through the codebase and structure of the Wikimedia repositories, I quickly came to understand what this project is, what it wants to achieve and how it wants to achieve. Since this is a fairly new platform, possibilities are endless and I can’t even begin to comprehend how many different components and features that can be developed using this platform. I have great expertise and experience in the skills that are required to develop components and move this project forward and because of that I know I am the perfect fit for this project.
During the period of GSoC, I will consistently document my journey in my blog. Working in a community over a period of time and being an active contributor, I think it only makes sense to continue contributing to the Wikimedia Foundation in the future and I am thrilled to put in my best!!
- Will you have any other time commitments, such as school work, another job, planned vacation, etc, during the duration of the program?
During the Community Bonding period(May) I will take my finals. So, these days I will put in not more than 5-6 hours daily to work on the proposed project
.
In the Coding Period(June, July, August) I will totally commit to working and put in 7-9 hours on a daily basis.
I have no other obligation and I will work full time on the proposed project during the GSoC period.
- We advise all candidates eligible for Google Summer of Code and Outreachy to apply for both programs. Are you planning to apply to both programs and, if so, with what organization(s)?
No, I am not applying to Outreachy
===Past Experience
I have previously helped in setting up selenium automated tests for the Firefox Voice Extension and have been contributing to the open-source for the past 2 years.
[T248231](https://gerrit.wikimedia.org/r/#/c/mediawiki/core/+/585869/)
[T248232](https://gerrit.wikimedia.org/r/#/c/mediawiki/core/+/585861/)
[T249323](https://gerrit.wikimedia.org/r/#/c/mediawiki/core/+/585865/)