Difference between revisions of "Summer of Code/2013/Project sharing website"

From Sugar Labs
Jump to navigation Jump to search
m
(→‎Features and Deliverables: add more features)
Line 74: Line 74:
 
#* Utilize for the ability to post projects from various Sugar Activities (ex: Turtle Blocks, Etoys, Memorize, Physics, etc.)
 
#* Utilize for the ability to post projects from various Sugar Activities (ex: Turtle Blocks, Etoys, Memorize, Physics, etc.)
 
#* Specification for others to build on
 
#* Specification for others to build on
# Multi-language support  
+
# Multi-language support
 +
# Social login/login with Sugar account
 +
# Featured projects/galleries, similar project suggestions
  
  

Revision as of 18:40, 1 May 2013

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
  7. Social login/login with Sugar account
  8. Featured projects/galleries, similar project suggestions


  • 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.

Before June 17 Discuss ideas with the community about the flow and User Interface of the website, finalizing the features. Learn about how Sugar Activities work, it'll be easier to integrate sharing later.

June 17 - June 23

June 23th - June 29th

June 30th - July 6th

July 7th - July 13th

July 14th - July 20th

July 21nd - July 29th

July 29th- August 2nd Mid-term Evaluation Period

August 3rd - August 9th

August 10th - August 16th

August 17th- August 23th

August 24th - August 30th

August 31 - September 6

September 7 to September 16

September 17th - Soft Pencil Down date.

September 18th - September 22rd

September 23rd - Hard Pencils Down date.

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.

Me and the Community

Impact on the Sugar Labs community

If your project is successfully completed, what will its impact be on the Sugar Labs community? Give 3 answers, each 1-3 paragraphs in length. The first one should be yours. The other two should be answers from members of the Sugar Labs community, at least one of whom should be a Sugar Labs GSoC mentor. Provide email contact information for non-GSoC mentors. Kids will be able to show their creations to the world. They'll also learn more by working on each other's projects. Teachers and Activity developers can work on creating tutorials for projects.


Sugar pilot deployment

Sugar Labs will be working to set up a small (5-30 unit) Sugar pilot near each student project that is accepted to GSoC so that you can immediately see how your work affects children in a deployment. We will make arrangements to either supply or find all the equipment needed. Do you have any ideas on where you would like your deployment to be, who you would like to be involved, and how we can help you and the community in your area begin it?

What will you do if you get stuck on your project and your mentor isn't around?

Keeping the community informed about problems and questions

How do you propose you will be keeping the community informed of your progress and any problems or questions you might have over the course of the project? Blogging and posting weekly progress on the group with any problems.

Miscellaneous

Screenshot of my Sugar development environment

We want to make sure that you can set up a development environment before the summer starts. Please send us a link to a screenshot of your Sugar development environment with the following modification: when you hover over the XO-person icon in the middle of Home view, the drop-down text should have your email in place of "Restart." See the image on the right for an example. It's normal to need assistance with this, so please visit our IRC channel, #sugar on irc.freenode.net, and ask for help.

Screenshot of Akshit's development environment of Sugar with the 'restart' label replaced with his email address.

What is your t-shirt size?

(Yes, we know Google asks for this already; humor us.)

Large (L)

Describe a great learning experience you had as a child.

It was Christmas time and my mom got me this gift with Santa in a water filled glass cover with sparkling glitter. I kept in the freezer, I don't remember why, but the next morning, I found that it was broken. It was sad, but I learned water expands on freezing instead of contracting. Years later studied the hydrogen bonded crystalline structure in 11th class as well.

Additional information

Is there anything else we should have asked you or anything else that we should know that might make us like you or your project more?