Google Summer of Code 2013 Proposal for Swathanthra Malalayalam Computing
- 1 Personal Information
- 1.1 Why do you want to work with the Swathanthra Malayalam Computing?
- 1.2 Do you have any past involvement with the Swathanthra Malayalam Computing or another open source project as a contributor?
- 1.3 Did you participate with the past GSoC programs, if so which years, which organizations?
- 1.4 Do you have other obligations between May and August ? Please note that we expect the Summer of Code to be a full time, 40 hour a week commitment
- 1.5 Will you continue contributing/ supporting the Swathanthra Malayalam Computing after the GSoC 2013 program, if yes, which area(s), you are interested in?
- 1.6 Why should we choose you over other applicants?
- 2 Proposal Description
- 2.1 An overview of your proposal
- 2.2 The need you believe it fulfills
- 2.3 Any relevant experience you have
- 2.4 How you intend to implement your proposal
- 2.5 A rough timeline for your progress with phases
- 2.6 Any other details you feel we should consider
- 2.7 Tell us about something you have created.
- 2.8 Have you communicated with a potential mentor? If so, who?
- 2.9 SMC Wiki link of your proposal
- 2.10 Project updates
Email Address: firstname.lastname@example.org Telephone: +91 8089133362 Blog URL: http://ershadk.com Freenode IRC Nick: ershad University and current education: BSc Computer Science, Bharathiyar University
Why do you want to work with the Swathanthra Malayalam Computing?
Swathanthra Malayalam Computing is contributing much to Indic languages and language computing, it's great to be a part of it.
Do you have any past involvement with the Swathanthra Malayalam Computing or another open source project as a contributor?
Yes. I've contributed to Swathanthra Malayalam Computing, MediaWiki and a couple of other open source projects.
Did you participate with the past GSoC programs, if so which years, which organizations?
No, I've not participated in GSoC programs before.
Do you have other obligations between May and August ? Please note that we expect the Summer of Code to be a full time, 40 hour a week commitment
It will be possible for me to work 35-40 hours / Week.
Will you continue contributing/ supporting the Swathanthra Malayalam Computing after the GSoC 2013 program, if yes, which area(s), you are interested in?
I've been contributing to SMC, I will definitely continue doing it along with maintaining the Malayalagrandham application after GSoC. My interested areas include Language Computing, SILPA and translation.
Why should we choose you over other applicants?
I've been a FOSS enthusiast for years and have been continuously trying to contribute to it. GSoC will be a great platform for me to contribute more.
This proposal is meant for Malayalagrandham Bibliography Data project. I'm planning to do it in Ruby on Rails in which I'm well versed and have more than 1 year of experience. I also have a track record of doing end-to-end hobby projects in Ruby on Rails.
And right the at moment, I've done its backend and wrote scripts to import data from old database. It will be easy for me to build upon that.
An overview of your proposal
Malayalagrandham.com is a web application to store and process bibliography data of books. Currently it has a growing database with information of more than 50K books. The current live application was built a few years before and it lacks features such as crowd sourcing, RESTFul API, Feedback, Visualization and so on. The proposed project aims at building a more advanced and contributor/developer friendly version of Malayalagrandham Bibliography Data application with the aforementioned features. The new version of Malayalagrandham will be a crowd sourced Internet Book Database. It will have features to export data to various formats such as MARC21 and MARCXML.
The application essentially will have the following interfaces.
1. Interface for the task force
Task force is a group of people with administrative privileges. These admins should be able to select the right submission from crowd sourced data and they should be able to moderate any the contents in the web application. They should also be able to visualize existing data.
2. Interface for contributor
Any person should be able to become a contributor by signing up using his/her email ID. Contributor should be able to add new bibliography information and post comments/reviews through the feedback system. He should also be able to upload cover photos of books.
3. Interface for Publisher
Publishers should be able to add bibliography information of the books they publish. They should also be able to generate QR code that links to specific book's page.
4. Interface for Librarian
Librarians should be able to update the location of the books in Malayalagrandham.
All the data in Malayalagrandham will be open to Public. But users need special permission (admin privileges) to modify the existing approved data. Application will have full support for localization using i18n libraries of Rails.
The need you believe it fulfills
Apart from the bibliographic information it provides, Malayalagrandham would help people to locate books easily. Building a new version this application has the following benefits:
- It will be easy for users to contribute new data
- REFTul API makes the application developer friendly. The API will enable developers to write client applications across platforms.
- We will have a centralized location of information of many books in a breadth of languages.
- It will be easy to perform complex searches to locate specific books.
- The feedback feature attracts more engagement/dicussion from users.
- ISBN based book discovery will be possible
- QR code for each book would help the user to locate its Malayagrandham page
Any relevant experience you have
I've industrial experiencing in building and deploying Ruby on Rails web applications. I also have learned about MARC21/MARCXML formats and ISBN.
How you intend to implement your proposal
Technology stack is Ruby on Rails web framework with MySQL backend. We will be using the following Open Source gems and modules :
- devise - User Authorization
- ruby-marc - Read and Write in MARC Format
- marc21-utils - MARC Validation
- ferret - Text Search
- Jbuilder - DSL to configure JSON API
- rqrcode - QR code generator
- rspec, capybara - Test Driven Development (TDD)
- Twitter Bootstrap - Front end Framework
A rough timeline for your progress with phases
Jun 17 - Jun 30
Resume the development on the existing application I wrote for this project and design the remaining parts of the software.
Jul 1 - Jul 15
Implement the application logic as per the design and start focusing on API
July 16 - Jul 31
Implement the basic API and get the functionalities working in the back end Test the built features and fix bugs for mid term evaluation
Aug 1 - Aug 20
Build advanced features such as crowd sourcing support, data export and QR support
Aug 21 - Sept 5
Implement basic UI for Task force, Publisher, Contributor and Librarian. Focus more on UX, get the minute details working properly.
Sept 5 - Sept 12
Control the access to the site pragmatically and do a security auditing. Polish the interface and all features should be working by now.
Sept 13 - Sept 27
Review code, fix bugs and get ready for final evaluation.
Any other details you feel we should consider
It will be great if we can sync Malayagrandham with Wikisource. We can also link to Public Domain books in Malayagrandham pages.
Tell us about something you have created.
- QuizGrid.com is a social network I built using Ruby on Rails and MySQL. More details are here
- Myfest.in is a college fest aggregator I built using the same technology stack. It's quite popular in India and it has got thousands of hits in a short span of time.
- I built a chrome extension for language transliteration using Wikimedia's jQueryIME library and it won 'The most innovative project' award in Wikimedia Dev Camp held at IIM Bangalore. My other wikimedia contributions are here
I've also some open source contributions, please find them in my github profile
Have you communicated with a potential mentor? If so, who?
Yes, I've communicated with Anivar Aravind.