User:Santosh2201/GSoC14

Collaborative spelling dictionary building tool
Public URL: https://www.mediawiki.org/wiki/User:Santosh2201/GSoC14 Announcement: Proposal_Announcement

Name and contact information
Name: Santosh Reddy Email: santosh.cool.reddy@gmail.com IRC or IM networks/handle(s): #santosh2201 (on freenode), Channels : #mediawiki, #mediawiki-visualeditor, #mediawiki-parsoid, #wikimedia-dev Web Page / Blog / Microblog / Portfolio:LinkedIn, GitHub Location:Hyderabad,India Typical working hours: 09:00AM to 2:00PM and 04:00PM to 2:00AM (Indian Standard Time)(Adjustable) TimeZone: Kolkata,INDIA, UTC+5:30

Synopsis
Browsers are equipped with extensive spelling dictionaries for major languages, such as English, which are used for spell check. They help make articles in these languages more readable and professional. However, many languages don't have extensive spelling dictionaries. So the main objective of this project is to build online shared spelling dictionaries for each language, which can be used for spell checking while editing through Visual Editor. This can be done by crowdsourcing. A user can add misspelled words to a shared dictionary in the same way he adds them to a computer's dictionary. This project will also require a robust system in which language experts (admin) will be able to manage the submissions: accept, reject, filter and build new versions of the spelling dictionary upon them.

Benefits

 * Using shared dictionaries can help improve Wikipedia articles in all languages.
 * User need not install language libraries, it automatically recognizes the page language and proceeds with the spell checks.

Mentors
Kartik Mistry and Amir Aharoni are my mentors for this project.

Project Plan
The Collaborative spelling dictionary building tool can be implemented as a mediawiki extension which will then be embedded as a plugin to Visual Editor. This project has three important phases : End-user Frontend, Administrator Frontend, and Backend.

Phase 1 : End User Frontend
 * End user must be given the functionality to add words to the shared spell dictionaries while using Visual editor.
 * Whenever the user adds a word to shared dictionary, the language of the word as well as the word are sent to the backend.
 * A button must be included in the Visual editor toolbar which can activate/deactivate the spell check.

Phase 2 : Admin Backend
 * The data sent by the user to the backend will be stored in a database for admin review.
 * A system will be built which automatically rejects a word if a lot of users submit it.

Phase 3 : Admin Frontend
 * Admin has the ability to accept/reject a word sent for review by a user.
 * Admin can filter words based on language and review.
 * The words that are approved, will from time to time be packaged and released as a dictionary.

Communication
I can be reached at :
 * Email Id : santosh.cool.reddy@gmail.com
 * IM : santosh.cool.reddy@gmail.com
 * IRC nick : #santosh2201 on freenode, channels : #mediawiki, #wikimedia-dev, #mediawiki-visualeditor
 * I will always keep my mentors in the loop regarding the progress of the project, by showing them weekly reports and being in touch with them for the smooth execution of the project.

Publishing Source Code

 * I will publish the source code on github and collaborate with my mentors.

Ask for help

 * If I am stuck with a problem, I will ask my mentors for their opinions. Before doing this, I make a strong effort of resolving it myself by browsing the web and exploring new ideas.
 * Reading the documentation, discussion in the community, IRC, mailing list.
 * I will definitely ask my mentors for feedback before starting a new task.

Education

 * Computer Science and Engineering Undergraduate at Indian Institute of Technology, Ropar.
 * My Major interest lies in developing web applications.
 * I have experience working with C, C++, Java, Python, PHP, Javascript, HTML, CSS, JQuery, Ruby on Rails and many other technologies.

How did you hear about this program?

 * GSoC is pretty much popular everywhere, especially among geeks and many of my seniors have contributed for GSoC.

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

 * I have summer vacation holidays for three months. I intend to continue my work for the open source community even after the completion of GSoC-2014.
 * I assure you that I will commit at least 50 hours per week to make this project successful.


 * 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)?

No I am just applying to GSoC-2014.

What drives me ?

 * I have used many Open Source projects to build different applications. These have helped me a lot as I didn't have to build everything from a scratch. I feel contributing to the Open Source community can help me repay this debt. GSoC, being one of the largest open source programs of its kind, gives me the best platform for doing so.
 * Wikipedia is major source of information for students so it would be a great opportunity to contribute to mediawiki.

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

 * I am new to the open source community.
 * I have started contributing to mediawiki. I have submitted a patch for a bug related to the Mediawiki core. I have also done some testing in VisualEditor, and helped in resolving the Bug 49147.

Please describe any relevant projects that you have worked on previously and what knowledge you gained from working on them (include links):

 * Project Experience
 * Participated in Google Cloud Developer Challenge 2014 and built an application using AngularJs
 * Worked as an intern at Thinkplaces - Developed an application working with both Maps and Hangouts API.
 * Socialmedia website which searches for #Hashtags/@Mentions/Topics to collect data from social networks.
 * Built a Facebook app to check your online friends by staying offline.
 * All the above projects involve working with PHP, JQuery, Javascript ,API and many other web technologies.
 * You can find all my projects on github.

I would like to take the responsibility of maintaining as well as contributing to the extension by addressing bugs and any other concerns from the community.
 * Post GSoC plans