User:Aayush251/gsoc

Name and contact information

 * Name: Aayush Sharma
 * Email: aayushsharma251@gmail.com
 * IRC or IM networks/handle(s): aayush251 (Common)
 * Location: New Delhi, India (GMT+5:30)
 * Typical working hours: 10 AM - 6 PM (Flexible)

Synopsis
An API (Application Program Interface) is a protocol that establishes a connection between the software applications. MediaWiki API keeps growing with every new feature being added. Currently it'll work out but in the future when more features will be added to MediaWiki at some rate it will become difficult to manage different API versions. Not only will it cause trouble for programmers but also for the clients. In this project, I will be working and modifying MediaWiki API to solve the following problems:
 * Avoiding client to update every time API changes
 * Developers will develop extensions from the single default API (recommended).
 * Reduce the cost of making a change in MediaWiki.
 * Organize feature changes - if the client asks for ver X, API guarantees the capabilities of X and result in format X.
 * Avoid cluttering of parameters.
 * API capabilities should return only the data requested by the client.

Deliverables
Will be updated soon. Need to confirm final exam dates.

About me
Hi, I am Aayush Sharma, Undergraduate student at Maharshi Dayanand University, Rohtak, India. I am a reviewer and content writer at www.jags.in, Microsoft Student Partner for session 2013-14. I've taken seminars on HTML 5, Windows phone development in different colleges. I've been using Wikipedia for almost 7 years now that is why I want to contribute to Wikimedia community which is by far best open source community I've known where everyone can share everything they know. I have good understanding of C, Java, PHP, MySQL,HTML/CSS. Working on this project will help me know how an open source community work, learn new things and have a productive summer. I plan to be part of MediaWiki even after GSoC is over. In my free time I love to code and update my website (aayush.wyvernia.net). Let’s create and innovate together.

Participation
I'll prefer conversing on IRC since you get more people to give feedback and help you out. I'll be available on #mediawiki, #wikimedia-dev whenever I'm online. I will also use Wikitech-I and Wikidata-I mailing list if I still need help .Source code will be under my Github account and blog too. I'll try to solve questions/problems myself and would approach my mentor if I can't solve it or ask on IRC if he's not available.

Past open source experience
Currently working on a Upload Wizard bug