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
Spelling dictionaries for the major languages of the world (English, Italian, French) help make Wikipedia articles in these languages more readable and professional and provide an opportunity for participation in improving spelling. Many languages don’t have spelling dictionaries. 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. This can be done as a MediaWiki extension integrated with VisualEditor, and possibly using Wikidata as a backend. We need to create something that's useful as VE module. The essence of the project shall aim to develop an admin panel where the administrator/moderator will be able to manage the submissions: verify the suggested spellings of the words, accept them, reject them, filter and build new versions of the spelling dictionary upon 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
 * 4) Publishing weekly progress reports.

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 have been using Linux (ubuntu initially and now elementary OS Luna) as my first choice OS since 2011. The best thing about FOSS is that we can know exactly what the software is made up of and edit it as per our own requirements.
 * Please describe your experience with any other FOSS projects as a user and as a contributor:

Apart from this, I have also submitted a few patches in:
 * 1) OWASP Hackademic Challenges: Hackademic Challenges project
 * 2) Mediawiki: Bug 57821

I have worked on a number of web development projects such as:
 * Please describe any relevant projects that you have worked on previously and what knowledge you gained from working on them (include links):
 * 1) Analysing the specific case of local hamiltonians and setting bounds to the change in energy distribution when a local operator acted on a system of N qubits during the research at CQT, NUS (May 2014 - July 2014) (http://www.quantumlah.org/people/AnkitaShukla)
 * 2) A website for use within the campus that provides an online platform for renting books and novels. (Intranet Only)


 * Academic Projects:
 * 1) Intelligent Traffic Control System (Feb 2014 - Apr 2014): Obstacle detection and blind spot detection
 * 2) Made an SIC and an SIC/XE assembler.


 * What project(s) are you interested in (these can be in the same or different organizations)?
 * Project title: Collaborative spelling dictionary building tool
 * Organization: Wikimedia
 * Organization: Wikimedia


 * 1) Bug 57821