User:Parth4992

Name and contact information
Name: Parth Srivastav

Email: srivastav.parth@gmail.com

IRC or IM networks/handle(s): parthsrivastav

Location: India

Typical working hours: 10:00p.m. - 4:00 a.m. (IST UTC+5:30)

Synopsis
Information about Language support provided by the Language Engineering team is currently displayed in a spreadsheet. This implementation misses certain features like searching and filtering on various parameters. Also it lacks any data visualization which would make it easy and quick to understand. The project aims to create a dashboard for the same spreadsheet which shall provide a much more interactive UI, has search and Filtering options as well as visualization through graphs, charts and various other means if possible.

Deliverables
When the Dashboard is ready, it would have buttons on the left to provide for switching between the different sheets and the visualized charts.the Dashboard would display the spreadsheet on the web page using table(s) and optimized using CSS. (HTML + CSS) Moreover there would be a search bar that would allow a user to search for a particular record. The user would be able to filter the table using the provided filters i.e. whether to include or not include certain type of results. (jQuery + AJAX) Additionally data would be visualized using charts and graphs and other visualization tools. The Dashboard will be made using responsive web design approach to provide an optimal viewing experience on various devices. (jQuery + CSS) Since all the data is currently store in a spreadsheet, that data will be added to a database. (MySQL) As the support of languages will be ever increasing the admin would have the privilege to enter new data in the database using a form. (HTML + jQuery + CSS)

Tentative Deadlines
28th May – 16 June (Pre-Project Research) – Get to know the Language Coverage Matrix thoroughly, understand the database schema, learn more about the libraries that will be used for data visualization.

17June – 1July – Develop a database according to the decided schema. Make a simple front end for the dashboard.

2July – 9July – Display the entire data on the relevant tabs. Make SQL queries for search.

10July – 24July – Complete the implementation of the search functionality and modify the dashboard. Start on Adding the filters that can be used.

24July – 31July - Complete integrating the filter functionality in the dashboard. Start on the data visualization part of the project.

1August – 28August – Adding data visualization to the dashboard.

29August – 16September – Brushing up the UI, visualizations, search and filter functionality. Start writing the documentation.

16September – 23September – Testing the project, bug fixes, and completing the documentation.

Use Cases
Andrew wants to look for the support available for the language Austrian German. He will be able to search Austrian German language through the search box and will get to know what are all the available functionalities for Austrian German. Moreover he can search for language codes, language name (both English and Autonym)

Mary wants to view all the languages where the input method is jQuery.IME and jQuery.WebFonts. She can now just filter the results on the basis of jQuery.IME and jQuery.WebFonts

Jack wants to give a presentation and wants to know the no. of languages whose translations are available and and what percentage they constitute among all the languages in the database. He can now just see a graph / chart that will have the information that he is looking for.

Implementation Details

 * 1) Basic Dashboard that would just display the Results of information about language support.
 * 2) Adding Search capabilities to the project.
 * 3) Adding filters to refine the searches and on the basic dashboard made in step 1.
 * 4) Adding data visualization functionality
 * 5) Optimizing the search in order to provide faster search results and the data visualization

About you
I am Parth Srivastav pursuing my undergraduate degree in Manipal Institute of Technology,India. I have recently found my interest in the field of web development. Since then i have made 2 web apps and a small website for learning purposes. I got interested in the Project because i felt this coincides with my interests and at the same time something i can accomplish within the given time frame.

Participation
For communication I think IRC is one of the most suited to do so especially if i am facing a trouble. I would be making regular commits to specific branch of the git repository and i would take feedback from community through mailing lists whenever possible sine the project needs to be visually appealing and user friendly. Also i would maintain regular email correspondence with the mentor(s).

Past open source experience
I have been recently enlightened to this world of FLOSS and do not have a contribution to the community till date. But what better way to start off with the GSoC Project itself.

Possible Technologies
MySQL, jQuery, CSS3, HTML, D3.js, Dance.js, Data.js, Cubism.js, Envision.js, Paper.js, Highcharts.js, JchartFX, twitter Bootstrap, PHP

Filters
The filters will provide the user with an option to include and/or exclude certain type of results. These filters would be for the fields whose values are either yes or no in the LCM. For example include translation and exclude jQuery.WebFonts.

Database
There shall be a MySQL Database that will store all the data that is currently in spreadsheet. the database will import the data using the CSV file or using a script that I may write if there are some issues in using the CSV file. I plan to have 5 tables listed as follows
 * 1) Feature Matrix (language code: primary key)
 * 2) Matrix Incubator (language code: primary key)
 * 3) IME Gap Statement (language code: primary key)
 * 4) IME Summary (language code: primary key)
 * 5) Admin (username : primary key)

Form
This would be a simple form that the admin can access to add and/or modify records in the database. This will be made using HTML CSS and Jquery. To update a record he will need to know the language code so the search functionality shall be extended here as well. PHP will be used to keep track of the session basically to identify if the user is admin or not.