Summer of Code/2013/Project sharing website

< Summer of Code‎ | 2013
Revision as of 13:08, 1 May 2013 by Axitkhurana (talk | contribs) (→‎About my Project: Add my background)

About me

What is your name?

Akshit Khurana

What is your email address?

axitkhurana@gmail.com

What is your Sugar Labs wiki username?

Axitkhurana

What is your IRC nickname?

axitkhurana on freenode/OFTC

What is your primary language?

(We have mentors who speak multiple languages and can match you with one of them if you'd prefer.)

English and Hindi

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

(We also try to match mentors by general time zone if possible.)

I am located in Delhi, India 5:30+GMT. I'm pretty flexible in my working hours, usually tend to work late.

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?

I contributed to openSUSE's popcorn project during GSoC 2012. Popcorn collects anonymous data about usage of RPM packages. I implemented various features including making data collection anonymous, packaging client RPM, implement a simple RESTful API, integration of client in settings user interface (YaST). Source code is available on github. My contributions are under username axitkhurana.

Also, working towards a small patch for TOR's stem library.

About my Project

Project description

What is the name of your project? 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?

Project sharing website will allow kids to share their projects they have created using various Sugar activities like Paint, Tam Tam or Turtle Art.

This website will be designed for kids where they can showcase their projects, learning from and using others projects, creating a fun, collaborative environment. Teachers will be able to use virtual classrooms and uploaded projects to teach kids to draw, program or create music. Parents will be able to see and appreciate their kids' creations by commenting on their projects. For activity developers they could show what their activities can do and how to do them in Teacher's view.

  1. On the frontend, I'll be using Twitter Bootstrap, a front-end development framework, and JQuery
  2. On the backend, the application will use Python and Django as the web framework to develop the application faster.

Features and Deliverables

  1. Projects:
    • Preview projects in browser in form of videos, pictures slideshows, audio, program(run in browser?) depending upon activity.
    • Projects will have optional text description.
    • Forking projects to your profile, to hack on build on them.
    • Downloading any project to activity on your Sugar PC.
    • Ability to upload projects to your through activity.
    • Like or Thumbs up a project which adds to your favorites.
    • Add project to gallery.
    • Comments on projects.
    • Share on various social networks Facebook/Twitter/Google+/Link.
  2. Gallery: Collection of projects
    • Create a default gallery for everyone consisting of their liked projects.
    • Ability to create/edit custom gallery of projects, say according to subject topic, difficulty level etc.
    • Ability to share on various social networks.
  3. Private classroom / Tutorials:
    • Associate each tutorial with some project.
    • Step by step video(?) showing projects at different stages.
    • Chat with teacher.
  4. Profiles
    1. Kids profiles
      • Allow kids to upload projects and view them here.
      • View/create/edit their galleries.
      • Uploaded projects can be categorized by Activity.
    2. Teachers profiles
      • Allow teachers to upload projects.
      • Give them a tutorial builder based on projects.
      • Galleries for teachers.
  5. REST API
    • Utilize for the ability to post projects from various Sugar Activities (ex: Turtle Blocks, Etoys, Memorize, Physics, etc.)
    • Specification for others to build on
  6. Multi-language support


  • Design a clean, simple UI.
  • Follow PEP8, Idiomatic code
  • Test driven development

Timeline

What is the timeline for development of your project? The Summer of Code work period is June 17 - September 23; tell us what you will be working on each week.

My Backround

Convince us, in 5-15 sentences, that you will be able to successfully complete your project in the timeline you have described. This is usually where people describe their past experiences, credentials, prior projects, schoolwork, and that sort of thing, but be creative. Link to prior work or other resources as relevant.

I’m studying Computer Science, 4th year at Indian Institute of Technology, Roorkee. I have a decent amount of experience in web development in Python and Web Frameworks like Django and Flask.

My contribution to openSUSE's popcorn project during GSoC 2012, involved development in Python, Flask and SQLAlchemy with attention to PEP 8 compliant code. We used Travis CI for continuous integration and Git for version control and collaboration.

I am a part of Information Management Group, in IIT Roorkee, which is a student body responsible for developing and managing all Internet and Intranet applications in IIT Roorkee, including the institute website and registration & placement portals. One of the projects I have worked at IMG is Softwares application. It's available on the intranet but Mid development demo is hosted on heroku

I have contributed to Entrepreneurship Development Cell, IIT Roorkee's Django based website in 2011-12 which is hosted on Amazon EC2 Cloud. The code is available on Github and the website was featured on Django website showcase

SnapApp was a hobby project, I worked on for playing with Facebook API and Django's manage.py custom commands. It creates albums from photos from your Facebook account.