Collaborative spelling dictionary

Collaborative spelling dictionary building tool

 * Public URL: (the page where the full proposal can be found)
 * Bugzilla report: https://bugzilla.wikimedia.org/show_bug.cgi?id=71973
 * Announcement: https://lists.wikimedia.org/pipermail/wikitech-l/2014-October/079007.html

Name and contact information

 * Name: Ankita Shukla
 * Email: ankitashukla707@gmail.com
 * IRC or IM networks/handle(s): ankita
 * Web Page / Blog / Microblog / Portfolio:about.me/ankitashukla
 * Location: Roorkee, Uttarakhand, India
 * Time Zone: IST (Indian Standard Time) (UTC +05:30)
 * Typical working hours: December: 10:00 to 13:00, 15:00 to 18:00, 22:00 to 00:00 (IST). After January 1st - 18:00 to 03:00 (IST)

Synopsis
There are extensive spelling dictionaries for the major languages of the world: English, Italian, French and some others; at various degrees of coverage, Mozilla has over a hundred, LibreOffice dozens. They help make Wikipedia articles in these languages more readable and professional and provide an opportunity for participation in improving spelling. Many other languages, however, don’t have spelling dictionaries. One possible way to build good spelling dictionaries would be to employ crowdsourcing, and Wikipedia editors can be a good source for this, but this approach will also require a robust system in which language experts will be able to manage the submissions: accept, reject, filter and build new versions of the spelling dictionary upon them. This can be done as a MediaWiki extension integrated with VisualEditor, and possibly use Wikidata as a backend. We need to create something that's useful as VE module. The project aims at developing a collaborative dictionary which shall also have an additional feature of checking spellings of the words. This is to be achieved with the collaborative efforts of the mediawiki community using crowd-sourcing. The essence of the project shall aim to develop an admin panel where the administrator/moderator could verify the suggested spellings of the words,accept them or reject them. A simple start to the project could be by starting with a simple list of words.


 * Possible mentors: Amir Aharoni, Kartik Mistry

Deliverables
Please describe the details and the timeline of the work you plan to accomplish on the project you are most interested in (discuss these first with the mentor of the project):


 * Features
 * 1) Regular Documentation
 * 2) Unit Testing
 * 3) Following coding practices as followed in Mediawiki

Tables
 * suggestions
 * admin_panel form


 * If a word is accepted, verified is set to true, and the word is removed from ‘suggestions’ and added to ‘words’
 * words
 * If rejected, the word is removed from suggestions and added to review_language
 * For rejected words: add the word to review_language table, where other contributors could have a look and suggest meanings and spelling
 * review_language
 * Any word from table review_language can be re-edited, and re-suggested, and again added to the suggestions table
 * Words page (visible to admin only):

This page will facilitate editing of already added words. Here, admins can see all the words that are in the dictionary and edit them(change/remove/put into review). If a word is put into review, then it will go to suggestions table and will be treated as a new entry for the dictionary.


 * Detailed Timeline

Participation
Hello! I have always been quite fascinated by technology. I have experience in coding in C++, PHP, JavaScript and am familiar with the basics of MVC architecture and UX. I prefer git as the version control system. I have been a developer at SDSLabs, IIT Roorkee where I had been working on web application projects for past two years. Moreover, I have good communication and writing skills which I can put to utilization during my work on the project 'Collaborative Dictionary Building Tool'.

About you
I am currently pursuing the third (junior) year of my Bachelor's degree in Computer Science and Engineering from the Indian Institute of Technology Roorkee, India.
 * Education completed or in progress:

I heard about the program through a college senior who was a GSoC alumni in wikimedia and inquired further about the program through the website and the IRC channels.
 * How did you hear about this program?

I have no time commitments other than academic work. I shall be available full time throughout December and half of January, working more than 45 hours a week. After reopening of my college, I assure to be available and working an average of 38 hours a week. I shall strive to accomplish majority of the project work prior to my college reopening. Thus, I have enough time to be an active participant in the project, mailing lists and IRC channels.
 * Will you have any other time commitments, such as school work, another job, planned vacation, etc., during the duration of the program?

No, since GSOC isn't organized at this time of the year.
 * 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)?

Past experience
This is my first effort to contribution to a FOSS project as I am a newbie to Open source community. However, as a user, I've been using GNU/Linux as my main OS since 2011.
 * Please describe your experience with any other FOSS projects as a user and as a contributor:

Mediawiki:


 * 1) Bug 57821


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


 * What project(s) are you interested in (these can be in the same or different organizations)?