**NOTE:** Please give your valuable feedback
===Profile Information
Name: Aditya Chaturvedi
IRC handle: Aditya Chaturvedi
Email: adityachaturvedi2906@gmail.com
Github: https://github.com/Adityachaturvedi2906
User Page: https://www.mediawiki.org/wiki/User:Resultant_edition
Location: Madhya Pradesh, India
Time Zone: GMT+5:30
Typical working hours: 10 AM to 10 PM. (GMT+5:30)
===Synopsis
-In Wikimedia, Users can use many programs which are user scripts. These user scripts are written in JavaScript, which enables the users to do many things that they otherwise couldn't. Like it intensifies Documenting, reading, and making changes according to browsers events etc. The contribution towards the development and documentation of UserScripts of MediaWiki is very precise, there are numerous Userscripts/Gadgets available for all the users but it’s all about how users will come to know about that, although MediaWiki has already good documentation on a user script. But not every user is an intermediate or an advanced so this project primarily focuses on newbie developers and existing Wikimedia community members who have a little bit of knowledge about JavaScript. This project will help users to create a Userscript in Wikimedia productively in a fun and interactive manner and to use MediaWiki’s JS module and API with the OOUI library.
===Possible Mentors:
@Jayprakash12345 - Jay Prakash
@KCVelaga - Krishna Chaitanya Velaga
@APerson - Enterprisey
===== Have you contacted your mentors already?
Yes
===Abstract:
* Create a basic design for the guided tour
* Create Pop-up messages for providing basic information
* Add functionalities by using widgets
* Make every step interactive for a newbie user
* Proper documentation for guiding in each step
===Implementations:
=====1. Create a basic design for the guided tour
Designing a game for the User Script guided tour to make user learn about the script with fun and interest instead of being monotonous.
====2. Create Pop-up messages for providing basic information
Creating pop-up messages to give short and proper information about the UserScripts and gadgets and the further missions.
====3. Add functionalities by using widgets
Adding functions and widgets like buttons, cross(X) inside the guided tour to make it easy to use for the newbie users
====4. Make every step interactive for a newbie user
Making the guided tour interactive by adding Quizzes and stats so that users can understand easily and in a fun way
====5. Proper documentation for guiding in each step
Describing and documenting in a proper format(stepwise) so that a user can understand how to use a UserScript
===Deliverables
Following is a breakout of the time I’ll spend on different aspects of the Project
* 70% - implementing the missions for the different aspects of the project
* 15% - solving bugs that arise after implementing the said features
* 15% - adding tests and proper documentation
| TIME FRAME | START DATE | END DATE | TASK
| ----- | ----- | ----- | -----
| Community Bonding | 17 May | 7 June | 1. Discussion with mentors for finalizing the idea and deadlines 2. Asking doubts in IRC(Zulip) 3. Writing blogposts after every milestone 4. Stay in touch with Wikimedia community members 5. Study about MediaWiki JS module, MediaWiki API and OOUI in detail
|Coding Phase 1 | 8 June | 16 July | **Milestones**- 1. Basic Intro 2. Using MediaWiki’s JS module
| Week 1 | 8 June | 14 June | 1(a) Implement the mission of Creating a Basic design
| Week 2 | 15 June | 21 June | 1(b) complete the mission of Creating a Basic design
| Week 3 | 22 June | 27 June | 2(a) Implement the mission of using MediaWiki’s JS module
| Week 4 | 28 June | 4 July | 2(b) complete the mission of using MediaWiki’s JS module
| Week 5 | 5 July | 11 July | 2(c) Add test codes and fix any remaining errors
| FIRST EVALUATION | 12 July | 16 July | Write proper documentation
| Coding Phase 2 | 17 July | 16 August | **Milestones**- 3. Using MediaWiki API 4. Using OOUI (Optional)
| Week 6 | 7 July | 14 July | 3(a) Implement the mission of using MediaWiki API
| Week 7 | 15 July | 21 July | 3(b) Complete mission about Mediawiki API
| Week 8 | 22 July | 27 July | 4(a) Implement the mission of using OOUI
| Week 9 | 28 July | 4 August |4(b) Complete the mission of using OOUI
| Week 10 | 5 August | 11 August | 4(c) Add test codes and fix any remaining errors
| FINAL EVALUATION | 12 August | 16 August | Write proper documentation |
| Post GSoC Period | | | 1. Share what I learned so that others can get benefit from what I learned 2. Continue working on Wikimedia New Developers projects. 3. I would love to keep on contributing and give my best for the organization. My major motivation behind this is the contributions I can make after learning new technologies 4. Stay in touch with organization administrators on Zulip.
===Participation
* The best way to communicate is through Email (My email id is adityachaturvedi2906@gmail.com) and in the IRC channel(Zulip) my username is Aditya Chaturvedi.
* I am planning to publish the source code on GitHub.
* As I have divided my milestones I will be reporting weekly to my respected mentors.
* I will discuss with my mentors weekly about the completion of milestones and deadlines to submit it productively.
===About Me
* I am a sophomore, pursuing a Bachelor of vocational studies in Software Development from Indira Gandhi National Tribal University Amarkantak, India.
* I came to know about GSoC from my friends and GSoC Blogs.
* I don’t have any other time commitments, such as school work, another job, planned vacation, etc, during the duration of the program.
* Ever since I started working on some projects, I was highly motivated to contribute to society and make this world a better place, through my technical knowledge, skillset and experience. I believe the concept of Wikimedia is really doing good and can do amazingly well in the field of providing free educational content to the world through its various projects, local chapters, and support structures. I also found the community very amazing, technically skilled and helping nature, especially mentors for MediaWiki I will be motivated and will ensure that I commit my maximum time towards this project.
===Past Experience
**Describe any relevant projects that you've worked on previously and what knowledge you gained from working on them.**
* I have made many projects such as designing the Help desk, static website for appointment booking and non-static website for School.
* While making these projects I have learned many new technologies Such as HTML, CSS, JavaScript, Jquery and bootstrap etc.
* The most valuable knowledge which I gained is understanding the audience, every website has its particular audience and according to that, a website should be designed.
* Next month I am getting a chance to attend an event of KubeCon + CloudNativeCon. The Cloud Native Computing Foundation’s flagship conference gathers adopters and technologists from leading open source and cloud-native communities
**Describe any open source projects you have contributed to as a user and contributor (include links).**
* I have contributed to the “Fixup: Vertically centre align ‘services’ section”
https://github.com/harshgoel05/hand-holding/pull/25
* I have contributed to WikiProject Articles for creation/Helper script
as a contributor
https://github.com/WPAFC/afch-rewrite/pull/155
**You must have written a feature or bugfix for a Wikimedia project during the application phase (see the section about microtasks in the application process steps), please link to it here. We give strong preference to candidates who have done so.**
* Soon I'll fill this
====Relevant computer languages and other technical skills:
* JavaScript: 4/5
* HTML: 5/5
* CSS: 4/5
* Bootstrap: 4/5
* Jquery: 4/5
* C++: 3/5
=====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 organizations?
I am only applying to Google Summer of Code 2021.
=====How much time do I have available, and how would I plan to use it?
Since I have holidays during the coding period, I would be able to give 30-35 hours per week to the project.