User:Cnfuyu/GSoC2014Proposal

=SILPA Project Improvements=

Personal Information
# Email Address                        : cnfuyu@gmail.com # Telephone                            : +86 # Freenode IRC Nick                    : cnfuyu # University and Education             : HuaZhong University of Science & Technology, Wuhan, China #blog                                  : http://cnfuyu.net

Why do you want to work with the Swathanthra Malayalam Computing ?
I don't know Swathanthra Malayalam Computing before but when I read ideas page for SMC, I found there are something interesting and I can do for this organization. Also the project requires Python, Flask, HTML, CSS and JavaScript which I am familiar with.

Do you have any past involvement with the Swathanthra Malayalam Computing or another open source project as a contributor?
No, I have never worked with Swathanthra Malyalam Computing or on any other open source project as a contibutor.

Did you participate with the past GSoC programs, if so which years, which organizations?
No,this is my first time.

Do you have other obligations between May and August ?
No, I don't have any major obligations this summer and I am confident in finishing the project in time.I can devote 40 hours a week for the project.

Will you continue contributing/ supporting the Swathanthra Malayalam Computing after the GSoC 2014 program, if yes, which area(s), you are interested in?
Yes I want to keep contributing to the community after my project as GSoC is just the beginning. I want to keep workig on "SILPA Project Improvements" or extension other modules and make SILPA works more perfect!

Why should we choose you over other applicants?
I have already installed the source code on my virtual machine and read all the code about "SILPA Project Improvements" and I am familiar with the code. When I read these code, I also make some pull request to projects, but that only fix some small problems and you can see them here: [pull#19], [pull#18]. I know these fix are too trivial or insignificant to mention, but I want to say I desire contribute more to this project and these pull requests only the start. On the other hand, I am familiar with python, flask, html, js and css, I wrote a lightweight blog use all these, you can see the source code here: [#cnfuyu-blog]. Also I have some other experience with these skills, I will detail them next.

A brief Overview
The project is titled "SILPA Project Improvements". But it is set of ideas which include three modules in the project. The main aim of the project is to make SILPA works more perfect. Now the SILPA use JSONRPC API which is not well supported in all languages, so we should provide REST API and leave the JSONRPC API. The transliteration system is not work well. There are some bugs in it and I think this module can provide more languages extensions like Chinese :), and transliteration language in better way. The flask-webfonts extension with SILPA also isn't in perfect shape, I checkout the code from github and run the extension with silpa-flask, I see it make other modules break and it also need provide guideline and test cases to make it in perfect shape. May job will be fix these bugs mentioned above and provide document, test cases and more extensions to make SILPA works perfect.

The need you believe it fulfills
1. Provide REST like API for SILPA Currently JSONRPC is not well supported in all languages. 2. Improve Transliteration module I will add Chinese extensions in transliteration module, and make this module works more perfect. 3. Integrating flask-webfonts extension with SILPA Flask-webfonts is not fine tuned yet.

How do you plan to implement the proposal
1. Familiar with SILPA code Although I have read all the code about silpa-flask, flask-webfonts and transliteration module, but I need to get more familiar with silpa. 2. Learn more about Indic language and transliteration with each other. I don't know Indian language before, so this is a big problem for me to finish this project. But I will try my best to do this and discuss with my mentors in time. 3. Provide REST like API for SILPA This task is very easy, so I will do this first. I will add a resthandler in core and leave the JSONRPC API. 4. Improve Transliteration module I will find some third party module to help this module works more better.I know CLDR supply transliteration data for Indic languages, maybe this can help. And I will improve IS015919 to Indic transliteration and improve IPA to Indic transliteration these will help to simplify transliteration system. 5. Integrating flask-webfonts extension with SILPA At first, I will find out the