User:Making-it-yours

=Google Summer Of Code 2013=
 * The Google Summer of Code (GSoC) is a global program that offers students stipends to write code for open source projects. This is my first project for GSoC.

Project Title

 * Wikipedia - My Encyclopedia

Name and contact information

 * Name: Vishal Thukral
 * Email: hungers.to.nurture@outlook.com
 * Freenode IRC Nick: Vishal_
 * Location (City, Country and/or Time Zone): Sonipat, India (GMT + 05:30)

Synopsis

 * Why I wish to work on this project ?
 * You believe that knowledge should be free for every human being, And so do I. But, I experienced that there is no end of knowledge and you can't get whole of it, Even if its freely available.
 * So, how do we learn ?
 * We keep on extracting the information from this bottomless sea until we have last breath to take.
 * So, how do we extract ?
 * We collect a cup of water from this sea and look for the elements we need. But, unfortunately there are a lot of other elements present in it and that cup of water contains very minimal amount of element we need...
 * ‘Extracting is a very very challenging task and I hope to help everyone who visits this sea to extract the elements they need, by  making this sea theirs.’
 * Wikipedia is the sea of all human knowledge. And the great thing is that one can extract anything from sea for free. But, this extraction is quite tedious and cumbersome.
 * So, let’s say I am working on an assignment. And I need to open some page on wikipedia. I see a lot and a lot and really a 				lot of content.


 * Problem 3: Problem 1 and 2 lead to an another problem. So, how will wikipedia remember which template you love or which content you have highlighted on which page when you visit wikipedia again.
 * Solution 3: We will invite users to register on wikipedia and you already had a system for that. I will create some new tables in your existing database so that wikipedia can remember highlighted text and the page on which it was highlighted. So,when users will Log-In, they will be able to personalize their Wikipedia in the way they like. They will be able to choose their favorite template and highlight text and wikipedia will remember it nicely.

Deliverables

 * May 27 - June 16 => Community bonding period
 * Through this period, I hope to
 * Warm up myself for Good Programming (Revise Lecture Notes etc.)
 * Know about programming languages, techniques and other aspects Wikipedia uses.
 * Set up my machine for development according to the previous point.
 * Talk a lot with my community.
 * Discuss all my ideas with the mentor and community members.
 * Workout on suggestions made by my mentor and community members to prepare a final proposal for myself.
 * June 17 - July 17 => Back-end
 * I will start coding for a platform that will allow wikipedia to remember the highlights of user and favorite template. For that I plan to use SQL (may be My SQL) and PHP. At the beginning I will try this platform for remembering say user pages history. And then I will work on few algorithms to make it efficient as i can. My main motto will be on it's efficiently as wikipedia has more than 20 million articles and serves billion of users. So, efficiency matters a lot..
 * July 18 - July 25 => Extensive working with mentor
 * Through this period I will ask for mentor's extensive advice and will further work on that.
 * July 26 - July 29 => Brushing up for midterm submission
 * Through this period I will brush up my app for mid-term submission.
 * July 30 - August 15 => Front-end
 * Through this period I plan to create 2 templates with the help of CSS3 and enabling highlighting with the help of javaScript.
 * August 15 - September 5 => Integrating front end and back end
 * Through this period I will work on integrating front and back end.
 * September 5 - September 20 => Have feedback and work on it
 * Through this period I will ask for extensive feedback from my community and mentor and will work on that. I will also prepare documentation of my project during this period.
 * September 20 - September 23 => Final Touch
 * No need of explaining...