Versioned DataStore

About you

 * 1) What is your name? Kumar Abhinav
 * 2) What is your email address? sunny.abhinav@gmail.com
 * 3) What is your Sugar Labs wiki username? abhinav17
 * 4) What is your IRC nickname? abhinav17
 * 5) 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
 * 6) 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 India, Uttar Pradesh state , City Varanasi.I would be working 12:30 hrs to 17:30 hrs (UTC) approximately liable to change one or two hrs depending on other obligations.
 * 7) 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 never before participated in a open source project this is my first chance to work for an open source project. I have recently been introduced to the vast world of open source software development and it really fascinates me. The idea about open source that really excites me is the sharing of ideas and codes thereby preventing wastage of effort input by developers and thus helps in rapid development in the software world. The Sugar Labs educational platform is one such organization which works for open source software development, the sugar learning platform from the Sugar Labs is an educational open source software aimed at providing free education especially to children. The idea of being a part of such a project is very appealing. Moreover the open source world of software development creates many opportunity for learning new technologies , new ideas and that is a great issue of interest.

About your project

 * 1) What is the name of your project? Versioned Datastore
 * 2) 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? I would be building a python (pyGtk) based UI to implement a Datastore on the olpcfs2 filesystem. The UI would also provide file searching and indexing operations. The sugar learning platform aims at providing exploratory learning to the users by always allowing user to undo the most recent mistakes. Implementation of this feature requires the documents under the sugar to be stored in a Datastore. The olpcfs2 file system provides enough functionality for the Datastore. The saving of file at each time on the filesystem would create a new version with time date details. I would be building user interface (UI) to the Datastore created under olpcfs2 with functionalites like date wise view of the filesystem as well showing old and new versions for each file on the filesystem with the use of a tree diagram where nodes would represent various states of files. Through the UI the user would be able to access older versions of a file and view ancestry tree with branches (leading to related files)as well search for files in the Datastore.
 * 3) 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.
 * 4) *Week 1-2 (23rd May to 6th June)  : Thorough study of olpcfs2 file system. Its inode structure, extracting metadata about files and storing them.
 * 5) *Week 2-3 (7th June to 21st June) : Building a User Interface and reading  the metadata associated with files.
 * 6) *Week 4-5 (22nd June to 5th July ) : Using the metadata associated with files to create date line view of filesystem and file ancestry view.
 * 7) *Week 6   (6th July to 12th July )   :Building a indexing and search mechanism on the top of the UI.
 * 8) *Week 7   (13th July to 19th July)  :Final touches to the user interface.
 * 9) *Week 8-9 (20th July to 2nd Aug) :Testing and bug fixing.
 * 10) *Week 10-11(3rd Aug to 16th Aug) : Miscellaneous and extras.
 * 11) 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 have a keen interest in the project and have the abilty to learn new things fast. The timeline mentioned here is a suggestive one based on the idea that I would be investing about 30 hrs a week for the project. I would be able to invest upto 40 hrs a week if required since I have no other obligations this summer.I have worked before as a trainee at TCS (IT services company) on a strict deadline which included weekly reviews, unfortunately that work of mine cannot be listed nor mentioned here as it is company proprietary.I have also contributed to Demo Physics Lab, a software developed at IIIT Hyderabad India, aimed at demonstarting experiments of physics to school children. My work was to create a graphical simulation of physics experiments using Open GL as graphics library and user interface building using Visual C++. Moreover this is my first open source project so I am pretty much excited and would put all my efforts in it.

You and the community

 * 1) 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. If my project would be successful it would be a proof to the implementation of Datastore on olpcfs2. Since Sugar people have said integration into main trunk may not be possible. The Datastore model if succesful would greatly enhance the sugar experience by allowing users to rollback their actions and learn in an exploratory way i.e. learning by doing. The search/index feature would greatly help with finding data within the Datastore thus adding a very important functionality to sugar.
 * 2) 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? The Purulia district of West Bengal (India) near my locality is one such area with children devoid of proper education on account of poverty. Sugar Labs can work with the help of local NGOs (Mandra Lions Clubs - Purulia) in the area and help local children.
 * 3) What will you do if you get stuck on your project and your mentor isn't around? If my mentor would not be around I would take help and post my queries on IRC and consult people on #sugar-devel as well post my queries to the developer mailing list.
 * 4) 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? I would maintain a blog and list my technical experiences on it problems as well as new learnings on it moreover I am also planning to maintain a website on googlepages with snapshots of periodic development on the project.

Miscellaneous

 * 1) 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. http://sites.google.com/site/sugarconfigure
 * 2) What is your t-shirt size? (Yes, we know Google asks for this already; humor us.) L (Large)
 * 3) Describe a great learning experience you had as a child. When I was a small kid in 2nd standard I accidently rubbed an iron nail on a horse shoe magnet .It turned into magnet and attracted iron filings I was very much fascinated and asked my father then he expalined me the whole idea of magnetism and magneetizing by rubbing. It was a great learning experience.
 * 4) 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? You have asked enough questions to judge my potentials however since sugar deals with free education to children you may have asked what I may or may not have done to encourage education among children in my area.