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 have extensive spelling dictionaries for the major languages of the world 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 goal 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 employing crowdsourcing. A user has the functionality to add a misspelled words to computer's dictionary, in the same way he can add a misspelled words to shared 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 improve wikipedia articles in all languages.
 * User need not install language libraries, it automatically recognizes page language and spell checks.

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

Project Plan
Collaborative spelling dictionary building tool can be done as a mediawiki extension and embed as a plugin to Visual Editor. This project has three important parts: end-user frontend, administrator frontend, and backend.

Phase 1 : End User Frontend
 * End user must be given functionality to add words to shared spell dictionaries while using Visual editor.
 * When ever user adds a word to shared dictionary following data is sent to backend: a) Word b) Language
 * A button must be included in Visual editor toolbar which can activate/deactivate spell check.

Phase 2 : Admin Backend
 * The data sent by user to 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 user.
 * Admin can filter words based on language and review.
 * The words that are approved, will be from time to time packaged and released as a dictionary.

Commmunication
I am easily reachable 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
 * It would be in my concerns to make the mentors aware of the progress of the project. I will show the mentor weekly progress and will be in touch with them for the smooth execution of the project.

Publishing Source Code

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

Ask for help

 * For the discussion sake, I may sometimes ask doubt with the mentors , but usually I do all my searching by browsing , exploring new ideas, etc.
 * Reading the documentation, discussion in the community, irc, mailing list.
 * I will definitely ask my mentors for feedback before starting a new task.

Education

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

How did you hear about this program?

 * GSoC is pretty much popular everywhere, specially among geeks and many of my seniors 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 am here not just for GSoc-2014 but I will continue my work in this community after GSoc is complete.
 * I assure you at least 50 hours per week dedicated 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 always want to work with open source community because i have used many opensource projects to build different applications. Opensource make developers life easy, need not build everything from scratch.
 * Wikipedia is major source of information for students so it would be a grate opportunity to contribute to mediawiki.

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

 * This is my first time I am contributing to open source community directly.
 * I am new to opensource, recently i started contributing to mediawiki but you can find all my projects on github.
 * Submitted a patch for a bug related to the Mediawiki core. Also done some testing in VisualEditor, triaging 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 an facebook app to check your online friends by staying offline.
 * All above projects are involved in working with php, jquery, javascript ,api and many more web technologies.

I hereby announce that once the project is over, I would like to take the responsibility of the extension developed and thereby maintain it, address bugs and any other concerns from the community.
 * Post GSoC plans