Changes

Undo revision 87682 by Rahul Gaur (talk)
Line 1: Line 1:  
<noinclude>{{TOCright}}
 
<noinclude>{{TOCright}}
[[Category:2013 GSoC applications]]
+
[[Category:2010 GSoC applications]]
 
[[Category:GSoC]]
 
[[Category:GSoC]]
 
</noinclude>
 
</noinclude>
   −
====About you====
+
Please apply also in [http://socghop.appspot.com melange, google's web app]; if you do not apply there '''before''' [http://socghop.appspot.com/document/show/gsoc_program/google/gsoc2010/timeline April 9], we will not be able to accept your application.
   −
* What is your name?
+
Please keep an eye on your talk page (the "discussion" link above). If you hit "watch" above, you can set up your "prefs" to email you the first time it changes since you last saw it.
Rahul Gaur
  −
* What is your email address?
  −
rahul.nbg@gmail.com
  −
* What is your Sugar Labs wiki username?
  −
Rahul_Gaur
  −
* What is your IRC nickname?
  −
iamaregee2@irc.freenode.net
     −
* What is your primary language?
+
====About you====
I speak english and hindi
  −
* Where are you located, and what hours do you tend to work?
  −
I live in New Delhi/NCR and I have flexible work hours and I am online between 15:00 hrs to 23:00 hrs (UTC)
  −
* 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 have not been involved with any Open Source project, but most of the work I do is Open Source and it could be found on my github page.I want to get involved with an Open Source project and contribute to it because most of the resources, softwares and the programing skills I have achieved so far is mainly possible because of the Open Source community.If I seek GSOC as opportunity to contribute back to the community.
      +
# What is your name?
 +
# What is your email address?
 +
# What is your Sugar Labs wiki username?
 +
# What is your IRC nickname?
 +
# What is your primary language? (We have mentors who speak multiple languages and can match you with one of them if you'd prefer.)
 +
# Where are you located, and what hours do you tend to work? (We also try to match mentors by general time zone if possible.)
 +
# 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?
    
====About your project====
 
====About your project====
   −
* What is the name of your project?
+
# What is the name of your project?
Project Sharing WebSite for SugarLabs
+
# 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?
* 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?
+
# What is the timeline for development of your project? The Summer of Code work period is 7 weeks long, May 23 - August 10; tell us what you will be working on each week. (As the summer goes on, you and your mentor will adjust your schedule, but it's good to have a plan at the beginning so you have an idea of where you're headed.) Note that you should probably plan to have something "working and 90% done" by the midterm evaluation (July 6-13); the last steps always take longer than you think, and we will consider cancelling projects which are not mostly working by then.
 
+
# 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.
Goal of this project is to implement a Project Sharing site to foster collaboration and sharing of Open source projects over the internet.The website upon the completion would also provide REST-API’s , so that the services of the website could be utilised by the Sugar Activities to share the project on the site and it will also provide the third party developers to integrate the services in their own apps.
  −
 
  −
Over the course of GSOC , there would be lot of additions and removal of unwanted components from the project , which would be based on discussing various ideas with the community.
  −
 
  −
I have been coding in Python since last three years and I recently started with JavaScript , HTML5 , CSS3 . I plan to put all these together in my project.
  −
 
  −
I am using Django with bootstrap(twitter) for my Mock Up and it's responsive design , so it would be supported by all modern web browsers and mobile/tablet devices.
  −
 
  −
I am using Django for backend development and I plan to use Django's built in ORM for Database schema.I also have some experience with Pinax project , but I don't intend to use it rather I plan to use numerous social feature apps in pinax leveraging the ability of pluggable apps offered by Django.
  −
 
  −
The apps that I could easily integrate with my project are notification , login , authentication , sign up and OAuth authentication app just to name a few provided by the pinax project.
  −
 
  −
Deliverables :
  −
  −
*Social Features  : Followers , Like , favourites , share .etc
  −
*Authenticated API's :Ability to post projects from various Sugar Activities
  −
*Separate landing pages for different audiences (kids, teachers, parents, etc.)
  −
*Gallery : Ability for users to create portfolio of their projects.
  −
*Multi-language support : Adding support for international Languages
  −
  −
 
  −
  −
 
  −
In this project my main efforts will be three major task to complete.Despite that , all three enhance the sharing , collaboration and learning efforts with Sugar.
  −
 
  −
* What is the timeline for development of your project?  
  −
 
  −
Roadmap:
  −
 
  −
*Phase 1 ~
  −
*May 27th ~ June 7th :
  −
My University exams would probably be over by this time , and this is the time I would start working full time on my project.
  −
I am planing to use Django/Python to develop this Website
  −
During this week I would do my research , community bonding , going through the Source Code.
  −
Completing My Proof of Concept/ Mockup .
  −
Discussing my strategy with the community and my mentor .
  −
*June 10th ~ June 17th:
  −
I would start fleshing out the code from my proof of concept stage to more functional stage .
  −
During this time I would be working on developing the frontend for the site.
  −
I would be using bootstrap with django to achieve this goal.
  −
I aim to setup a basic infrastructure with things like authentication, user profiles , project details and galleries by this time.
  −
 
  −
 
  −
*Phase 2 ~
  −
*June 18th ~ July 18th :
  −
Authentication / Authorization : As of now , for my proof of concept I am considering OAuth as , I haven't worked much with OAuth , I just have a very superficial knowledge of Open Id and Open Authentication protocols  and their working. I have already started learning about OAuth and I hope to be in a better state when I reach this time frame.
  −
However the final implementation would be based on discussing ins and outs of OAuth and other similar alternatives.
  −
I also plan to integrate features like FB connect, Twitter connect and Google connect, so that users can connect and avail the services using their existing id’s.
  −
I am planing to implement Facebook API’s to offer ‘Share’ ‘Like’  ‘Comment’ and similar features for twitter.
  −
These features would enable users to share their projects with friends and family who are not on Sugar Labs (project sharing site) . Thus would enable Sugar Project to reach to a wider audience .
  −
*July 19th ~ August 1st :
  −
By the time we reach the mid-term evaluation ,  my goal would be to have a functional authentication and authorization mechanism  along with the other basic social networking services up and running by this time.
  −
This is the Time I would start implementing REST-API’s for my project.
  −
I plan to use on of the following frameworks to do so :
  −
Django-REST-Framework - [0]
  −
Django-Tastypie - [1]
  −
I have done quick example apps for both the frameworks which could be found on my Github repos.
  −
I am yet to study the above frameworks more deeply , so the final choice for this would be made after discussing and evaluating both the frameworks for different scenarios.
  −
Making sure that Authorization/Authentication module and APIs play nice with each other .
  −
Do my documentation and testing my work and blogging about the achieved milestones .
  −
Adding Multi Language support.
  −
 
  −
 
  −
*Phase 3 ~
  −
*August 2nd ~ August 15th :
  −
During this time frame , my main objective will be to write a python wrapper for the  REST-API’s offered by the WebSite.
  −
This python client would make it easier for the developers to further integrate the web services offered by the website into their own work.
  −
Integrate Project sharing features into the existing Sugar Activities . This would require better understanding of the Core Sugar Codebase.
  −
I would be doing mostly examples on how to achieve this functionality.
  −
Writing Documentation to  help other developers on how to integrate the services with other Sugar Activities.
  −
August 15th ~ September 1st :
  −
I have taken some amount of cushion time in the above to account and adjust for any unforeseen circumstances.
  −
If there is any major change we have to make and start certain aspects of project from the scratch , this cushion time would allow for accommodating those changes in the project.
  −
I plan to dedicate this time frame specially towards improving the code quality , fixing bugs improving efficiency testing performance and quality of the code written.
  −
This stage will be followed by writing and improving the documentations for the newly added features and APIs.
  −
Tidying up any lose ends and ensuring that the code is properly organized  and documented..
  −
Making sure everything which I did is available on Launchpad/Github and other source repositories.
  −
 
  −
 
  −
 
  −
*September 1st ~ September 22nd :
  −
By this time  I would be reaching the firm pencil down date.
  −
Initially I plan to stage this project on Openshift platform by redhat.
  −
This would allow me to gain real time user feedback on my work.
  −
Even Though the load handling capabilities would be low on Openshift (free account) , but this would give us an idea how the projects performs under production environment..
  −
Perfecting any design requires lot of patience and time, so I plan to dedicate this time frame specifically towards perfecting my project.
  −
Key point to gain traction on any web service is consistency in design , layout , performance and constant user feedback..
  −
I have a limited experience with web development, but what I feel is the real time consuming part is not about the design and layout even though no design is perfect and there is something new to add every time.
  −
What really consume time is finalizing the project , so it could serve it’s actual purpose ie: be useable.
  −
I would be reviewing my code , improving it as per the user feedback in order to provide a better user experience.
  −
 
  −
 
  −
 
  −
 
  −
 
  −
Links ~ Below I have provided links to some of my experimental work I am doing for this project:
  −
[0] :  https://github.com/aregee/restful
  −
[1]:  https://github.com/aregee/restpie
  −
[2] -  https://github.com/aregee/sugar-labs_project
  −
 
  −
 
  −
# Convince us, in 5-15 sentences, that you will be able to successfully complete your project in the timeline you have described.  
  −
 
  −
Most of the work I do is Open Source , here is a link to my GitHub Profile - https://github.com/aregee.
  −
Most of the technologies I plan to use for this project are the ones I have some amount of previous experience.It’s just that I haven’t used them all together ,but my elementary fundas for these technologies is strong .
  −
Here is the link to my first Django app staged on OpenShift :http://resworks-rahulgaur.rhcloud.com
  −
My college doesn’t have an online portal to serve Examination Results online , so I took the opportunity to participate under KRDS - Facebook hackathon couple of months back and developed this app.Over the last two - three months , I am working closely with my college administration and professor on this Application.By the time the next college session starts , I hope to deploy this app on cloud , but College Administration is insisting to deploy app on the college servers only.We are working very dedicatedly on this project and we hope to release this project along with couple of additional modules and currently we are working on adding attendance module to this project .
  −
Recently I did some frontend web development for the college . The Cultural Society of my college was organizing Technical Fest , so for that I designed a website leveraging javascript library impress.js along with HTML5 and CSS3. http://www.scrietscs.org .
  −
I have been coding in python for last three years , and I have been using it for all sorts of purpose which range from writing scripts handle things like deploying code on cloud , exploiting and experimenting something or other with python for android.
  −
I am highly self motivated , pro foss and dedicated learner and If provided an opportunity , I am confident enough that I can complete this project in the above mentioned timeline.
  −
I believe that completing this project will help me to gain some sense of how real world software development takes place and benefit me with the understanding of teamwork plus time management so that when I graduate from the college next year I would have most of the skills needed to begin a career in web development.
  −
 
      
====You and the community====
 
====You and the community====
   −
*Profits for Sugar Labs
+
# 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.
 
+
# 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?
Facilitate the users of the Sugar Labs with an ability to share their work on a platform which would promote collaborative learning and development of projects.The site would have social networking features and integration with the popular social networking services would help the projects and the Sugar community to reach to a wider audience.
+
# What will you do if you get stuck on your project and your mentor isn't around?
I plan to deploy and develop my project on Openshift and add upstream to github , with a copy of app deployed on OpenShift we can get real time feedback from the users and improve upon the work.I think there must be number of people from New Delhi/NCR area involved with Sugar Labs.We can meetup and initially plan a deployment of Sugar platform at some public school nearby (probably after mid-term evaluation).I can also get some help from IIT-Delhi Linux User group , they are helpful breed of coders :) .
+
# 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?
There are times when we do get struck and I agree it could be demotivating and one feels lost without a proper guidance.Best way to overcome such situations is to be composed and documentation plus source code.I use lots of open source technologies everyday and at times I feel the need to customize the code or make some changes to it.Knowing what you want and how to do it is not the key , I feel the key is Documentation and understanding the source code.What I have experienced is that most of the time I know what I have to do , but I just couldn’t figure out what part of code do I need to change.So sticking with the rule of thumb , I would go for documentation and source code of the technology I am using as this gives me brief idea about how the particular function/feature is designed and how it works.
  −
I would be doing a weekly blogs over the weekend covering the hardships and achievements which I have accomplished over the week.Besides this I would be communicating my work over the mailing list and I am also active on the IRC , so this would help me to discuss my problems and share my progress over the course of GSOC.
  −
 
      +
====Miscellaneous====
 +
[[Image:New-developer-challenge.png|thumb|right|An example of the kind of screenshot of your first modification to your development environment which you should include in your application. Note that the drop-down menu text has Mel's email address in place of the word "Restart" - your screenshot should contain your email instead.]]
 +
# We want to make sure that you can set up a [[Development Team#Development_systems|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.
 +
# What is your t-shirt size? (Yes, we know Google asks for this already; humor us.)
 +
# Describe a great learning experience you had as a child.
 +
# 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?
    +
<!-- Delete this paragraph and the following one when preparing your application. -->Note: you will post this application on the wiki in the category [[:Category:2010 GSoC applications]]. We encourage you to browse this category and comment on the talk page of other applications. Also, others' comments and your responses on the talk page of your own application are viewed favorably, and, while we don't like repetitive spam, we welcome honest questions and discussion of your project idea on the mailing list(s) (primarily [http://lists.sugarlabs.org/listinfo/sugar-devel sugar-devel] for technical issues and [http://lists.sugarlabs.org/listinfo/iaep It's An Education Project] for educational issues) and/or [[IRC]].
   −
====Miscellaneous====
+
The NeL project has some good general recommendations for [http://dev.ryzom.com/projects/nel/wiki/GSoC2009WritingProposals writing proposals]. We endorse them all; although Sugar is (regrettably) not test driven development (yet - your project could change that!), we encourage GSoC code to include tests.
*I would probably fit in a T-Shirt of L (Male) size.
  −
*As a kid , one of the best learning experience I had has been with the Computers and precisely WEB. Internet and world wide web is what that has fascinated me and nothing else comes even close.The Web and computers has given me/ even whole mankind a power to share the ideas , knowledge , earn a living and do good to society in a million ways.I had my first “wow” moment way back in 5th grade I guess.I had just started with internet and one day while browsing some site on IE  , I accidently clicked  *view source* and there was whole lot of text on my screen which I could correlate to the webpage I was browsing.Quickly I realized that I could save the source and make changes to the text part to display some text that I want.That’s the moment when I realized that what I want to do in my life.I wanted to create websites .Another such *wow* moment came when I switched to  Ubuntu/Linux way back in high school ;-)
  −
*Ever Since I joined the college (3 years now ) , I have been actively promoting FOSS and helping kids to get started with Coding/familiarising them with computers.Giving presentations around my neighbourhood to foster better learning skills and evangelising foss technology , be it my college or my school. I try to present a picture that coding is fun , interesting and show kids lots of demonstration of  *cool*  programs that they could make easily and which does accomplish certain task like writing a script to hide files on their computers/mobiles instead of demonstrating how to generate the Fibbonaci series and calculate the golden ratio :). Once they develop interest in coding and computers , they move to the harder and algorithmic problems.
  −
*Here is a link to one such presentation I recently gave at my college : http://aregee.github.io/demo-impress.js/
  −
*I am dedicating my full summer time to my GSoC Project , here I would like to sate my schedule.I have my End Semester exams running upto 27th  of May , this would be the time when I would be occupied with College and my involvement would be low. I would be in touch over the emails.Besides this I have a preplanned family in the end of June (24th to 28th) which would consume my four days apart from this my goal is to work full time on my Project.
 
25

edits