Skip to content

Latest commit

 

History

History
187 lines (92 loc) · 9.24 KB

Connexions-SaketChoudhary-OERPub-API.md

File metadata and controls

187 lines (92 loc) · 9.24 KB

Connexions Google Summer Of Code Student Application

Name: Saket Kumar Choudhary

Street Address: A 19 Hastinapur , Anushakti Nagar

City: Mumbai State: Maharashtra Postal/Zip Code: 400094

Email Address: saketkc@gmail.com

Phone: +91-9869649197

University: Indian Institute of Technology Bombay,Mumbai

Connexions Project You Are Interested In:Slide Importer client using the OERPub publishing API

  1. List your programming skills as related to the project description

I am a 20 year old developer,a FOSS contributor/supporter and a Python & Ruby enthusiast. I am currently pursuing my undergraduate studies at Chemical Engineering Department of Indian Institute of Technology Bombay,India. My topics of special interest are WebFrameworks , Algorithms and Software-Design.

I have been programming for three years now . I started out with C/C++ in my first year of undergraduate studies and moved ahead to try my hand at PHP, Python and Ruby. I am comfortable with MVC Frameworks(CakePHP,Django,RAILS) and have also worked with microwebframeworks like Sinatra and Flask.

  1. Have you worked on an open source project before? If so, give the project name and describe the work you did.

I have submitted few pathces as listed down here: http://home.iitb.ac.in/~saket.kumar/bugsandpatches.html

Some of my Open Source Projects so Far have been :

  1. Scilab on Cloud

[https://github.com/saketkc/scilab_cloud]:

I developed a Python based application that would enable runnign Scilab[http://scilab.org/] a scientific computing software. This app allows user to run his/her Scilab codes online through a browser, thus removing the need to install Scilab Client locally.I soleley developed thi app on my own

  1. ** IIT Bombay Grading System on SMS**

[https://github.com/saketkc/iitb-library-sms-interface**] **In a team of 4 I developed a Flask[http://flask.pocoo.org/] based app to scrape through our institute’s Grading interface and send the Grades to a user on his mobile on request. I wrote the Scraping function making use of Beautiful Soup and urlib2 libraries.

3**. Pivotal Tracker Email Bot**

[https://github.com/saketkc/pivotal-tracker-email-wrapper] :

Pivotal Tracker(http://pivotaltracker.com) is an online Agile project Management tool. I sloely developed an interface using their API to create "New Issues" by fetching the emails from a gmail account. This has been recognised as a third party tool by Pivotal : http://www.pivotaltracker.com/help/thirdpartytools.

  1. DropBox on SMS

[https://github.com/saketkc/dropbox_on_sms]:

This "Sinatra"[http://www.sinatrarb.com/] based app that lets one send a file from your dropbox folder to any email id , just with one SMS. This app stood among the Top 20 at Yahoo! Open Hack India [ September 2011]. I was the sole developer of this complete app.

  1. kicad-ngspice

[https://github.com/saketkc/kicad-ngspice]

Imeplented Python Code to convert KICAD generated netlist to ngspice friendly format, the original netlist could not be exported directly to ngspice due to improper node configurations .

Also made a GUI using PyGTK for making a file editor.

6.** SlideShare**

[https://github.com/saketkc/SlideShare-Instants] and [https://github.com/saketkc/SlideShare-Desktop-app]

I had made a few hacks using SlideShare API, one of them made a GUI on the Desktop for being slideshows[was unsuccessful] and the other one would work like Google Instant to fetch slideshows instantly from SLideshare[successfull]

Some of my other projects can be found at :

https://github.com/saketkc/

I did my Summer Internship,2011 at SlideShare one of the biggest Ruby on Rails site in the world [a platform for SlideShow uploading and viewing online] wher I designed and implemented Admin Interface to allow super user actions like delete,suspend,view users and the slideshows. I also implemented specs (Behaviour Driven Development(BDD) )for the Ruby code using RSpec.My expeerinces from the same are featured here : http://engineering.slideshare.net/2011/09/applying-for-a-slideshare-internship-read-this-first-hand-account/

**Bio: **http://home.iitb.ac.in/~saket.kumar/saket_cv.pdf

  1. What do you hope to gain from participating in this project?

I would gain an indepth knowledge about writing scalable and modular code in Python . Though I have done a lot pf projects invoving Python and JS , but noe of them have taught me to write scalable code. As this project would actually go live on a Web Server and would be millions of people, not only it should be scalable but thoroughly tested to .

presentations and related stuff.

I use online resources myself for my own studies , and such I believe Connection is a great contributor to the society by providing a platform for everyone to refer Classroom notes , presentations and related stuff. Contributing my code towards the betterment of Connexions will be a privilege for me , my way of contributing back to the community

Besides that here are my own visions for the project.:

  1. Conversion Of Hand Written Notes:

A lot people using tablets make their notes i nform of Windows Journals or scanned ppaers f original handwritten notes. Right now the Module UPload API doesn’t support PDFs and OCR. A lot of content can be generated of the API can be made open for reading PDFs and Images[ scanned papers].

  1. Using EPubs format for uploading :

A lot of people have shifted entirely to epubs for reading and writing notes. The API needs to be extended to allow for EpuB Conversion to say a .doc and then upload it as a ".doc" . Though this is already part of another GSoC project in the form of rendering epubs, uploading is also an essential feature.

  1. Generating more content from SlideShare:

We can search SlideShare for a particular tag and for every slideshow that is tagged say "science and technology" , fetch the user contact information from slideshare and then send him/her a request form asking to upload his/her content on cnx.org.

This can be automated in the sense that the user agrees to the CC license by replying to the reequest mail from cnx.org and then the uploading takes place on its own.

  1. Add a short outline of how you will approach your selected project. You could include things like a timeline or a design if needed.

Action Plan:

  • Before May 21st:
  1. Discuss ideas about introducing Facebook/Twitter connect with the mentors. This would make sharing more easy and more content oriented

  2. Read and study the Pyramid Framework

  3. Discuss with the mentors a testing framework/method to be used for testing the functionalities of the website

  4. Study the existing code of the OERPPub Publishing API

  5. Try fixing the pre-existing bugs

  • Week 1 May 21st - May 28th:
  1. Read the Google Docs API and CNXML documentation

  2. Discuss and set expectations of code – dependencies, packages required , code style, testing framework , and documentation.

  • Week 2 May 29th - June 5th and Week 3 June 6th- June 13th :
  1. Develop a module for uploading slides into cnx.org with introductory paragraphs

  2. Write test cases for the module

  • Week 4 June 14th - June 21st
  1. Use the SlideShare and Google Docs API so that the modules can be made embeddable

  2. Write test cases for the plugin

  • Week 5 June 22nd - June 29th
  1. Create the link box to download the original slides

  2. Using the publishing API, write code to publish the mopdule on cnx.org

  3. Write test cases for the code

  • Week 6 June 30th - July 6th and Week 7 July 7th - July 14th
  1. Implement Audio/Video toolbox along with the slide player to go along with the slides

  2. Implement "Beautiful code “ for the main page so that some of the sample code features up on the main page

  3. Write tests for beautiful code model

  • Week 8 July 15th- July 22nd
  1. Implement slide by slide printing option for printing to either .pdfs or .epubs

  2. Write test cases for printing

  • Week 9 July 23d - July 30
  1. Implement OCR to allow uploading of images/scanned notes

  2. Test OCR code

  • Week 10 July 31st - August 6th.
  1. Implement the sites mobile version

  2. Test slide rendering in mobile version

  • Week 11th August 7- August 13th
  1. Document code

  2. Bug Fixing

  • Week 12 August 14th - August 20
  1. Test the functionality of the website

  2. Complete Documentation

  3. Bug Fixes

Obligations

I have no obligations during the summer s and would be able to contribute y full time to GSoC. I will be available full time on GTalk and IRC