GSOC Application 2013Project Sharing website (Rhythm Gupta)

From Sugar Labs
Jump to navigation Jump to search

About You

Name: Rhythm Gupta


Email Address: rhythm.gupta21@gmail.com


Blog URL: rhythmgupta.tumblr.com


Sugar Labs wiki username: rhythmgupta


Freenode IRC Nick: rhythmgupta


What is your primary language?

I usually converse in English and sometimes Hindi.

Where are you located, and what hours do you tend to work?

I live in New Delhi, India. (+5.30 GMT) But I’m pretty flexible with my work timings. I usually work late at nights.

Have you participated in an open-source project before? If so, please send us URLs to your profile pages for those projects, or some other demonstration of the work that you have done in open-source. If not, why do you want to work on an open-source project this summer?

No, I haven’t.

About Your Project

Name of your project?
Project Sharing Website


Describe your project in 10-20 sentences. What are you making? Who are you making it for, and why do they need it? What technologies (programming languages, etc.) will you be using?

The idea is to create a platform where kids can share their projects that they have created using various Sugar activities like Physics, Turtle Block, Memorize etc. It would be a great tool for kids could find new interesting projects, share their own projects, comment on their peers’ project and favourite them.

I’ll be using PHP and Mysql as my programming languages for back-end while Javascipt, HTML5 and CSS3 will be used for front end. I’ll be using Zend framework for the website. The website will be created for modern web browsers and because of increasing usage of devices such as tablets and phones, the website will be responsive so that kids can browse the project galleries on their phones as well. I’ll be using elgg, a FOSS social networking engine as a building block to create the project sharing website.

As yet, there are many ideas regarding what all can be implemented with the website. It probably needs more thinking on what all we can implement. We need to prioritize all of these ideas. For sure, my project will change over the summer. Ideas will be discussed, added and some maybe deleted. What I lay down here are the basic essentials that I think the website must have. I will list out a schedule, but it is only a very rough timeline.

Deliverables:

1. Go Social

This includes the ability to share projects with their friends and classmates. The greater involvement of social networks in our lives makes it apparent that this functionality should be present in the website. Apart from conventional sign up, there will be options to sign up with facebook, twitter and google accounts. Kids can then share their projects on facebook, twitter etc.

2.Share from Different Sugar Activities

This includes the ability to “directly” share on the website from different sugar activities. I’ll create an API for sharing onto website which could then be integrated with all the sugar activities. I’ll also create a “share to website” widget which could be directly inserted within the activity. It would be as simple as copy pasting few lines of code.

3.Galleries

The user could create his own galleries of projects. User can save his favourite projects, projects on physics, his projects in specific locations, he could also share the collection of his projects on his social networks. It will be similar to creating playlists on your mp3 player.

4.Internationalization

For multiple language supports, I’ll use FOSS gettext for PHP, and PHP 5.3 also have native i18n support. Zend’s Framework Zend_translate and related components will also be used.

5.Trending/popular Projects

There will be sections for trending and popular projects, similar to scratch website. We can also have a trending categories for each of the sugar activities. For ex. Most viewed project of Etoys, Trending projects in Memorize etc.


What is the timeline for development of your project?

Description (by timeline)

Date Event
May 8 College Ends; Summer break
May 27 Accepted Student Proposals announced.
Community Bonding Period
June 17 Official Coding Day starts
August 2 Mid Term Evaluation
August 2 College Classes Start
September 16 Suggested ‘Pencils Down’ date
September 23 Firm ‘Pencils Down’ date

My college classes starts early but summer break starts early too. It starts around 40 days before the GSOC’s ‘official coding’ starts. So I’ll have a head start of about 40 days before Google’s Official Coding starts. I plan to start coding after my college exams ends on May 8. This gives me around 12 weeks before Mid-Term Evaluation. I plan to finish most of my work till then. Documentation, Commenting will be done side by side with coding. I’ll be in touch with my mentor. I’ll write a blog which will be updated every week with the progress on the website.

Here is a tentative week by week timeline:

Week Number Details of Task to be Done
Week 1 (10th May- 16th May) and Week 2 (17th May- 23rd May) Planning of the database structures, Understanding Elgg, Basic functionality of signup/login/password reset/ etc. The functionality of logging in through twitter/facebook or google will be added initially itself so that there are no problems faced in adding the ‘social-ability’ to the website. I'll use FOSS bootstrap(by twitter) for front end.
Week 3(24th May – 30th May) and Week 4(31st May – 6th June) Sharing from Different activities will be added. #Not clear #To be discussed with mentor
Week 5 (7th June- 14th June) and Week 6 (15th June- 21st June) Social Networking aspects like follow your friends and great artists, your news feed which will be done with the help of elgg will be implemented in these two weeks. Documented and modular code will be written for future references.
#Official Coding Period Starts
Week 7 (22nd June- 28th June) Sharing to different social networks, comments on the projects, Galleries for individual users will be implemented in this week.
Week 8(29th June- 5th July) By the end of 8th week, I'll have a working website for project sharing in english language.
Week 9(6th July-12th July) and Week 10(13th July- 19th July) Building APIs for project sharing from different platforms.
Week 11(20th July- 26th July) Landing Pages for Different people like Parents, Teachers and Students.
Week 12 (25th July- 1st August) Most of the work will be done by this
Mid Term Evaluation Weeks 10th, 11th and 12th have been kept light so that any work left of the previous weeks can be completed now. Most of the work of my project will be completed by now.
Week 13 and 14 (2nd August- 14th August) Sections to display popular and trending projects from any given topic and most shared on different platforms will be added.
Week 15 (15nd August - 22nd August) This time will be used in implementing new ideas that might've been generated during the summers.
Week 16,17 & 18 (23rd August- 12th September) Final Touches. Reviewing code. Buffer. Since this is open source, stress will be given to maintain the quality of code throughout the summers and on documentation and commenting.
After 'firm pencils' down I'll be constantly developing the website even after the GSOC is over, though I admit at a slower pace due to course load. More functionality can be added after GSOC or in next GSOC.
* Please note that this is just a tentative timeline. The schedule might change, subject to later discussions with the community and my mentor.



What are your past experiences?


I'm a sophomore pursuing Bachelors in department of Computer Science and Engineering in Indian Institute of Technology. I've been doing web development from past 2 years. Relevant Courses I've taken are:

  • CSP 302: Design Practices
In CSP302, I created a social analytics web dashboard to analyze the activity of a social website with million of users and data edges between them. I used Django as my web framework and D3.js(a javascript library) for visualizing and analyzing the data sets.


Experience: I created the website Bookatdoor, a startup in India. It was made within 6 weeks and I coded in PHP, Mysql, jquery and css.