Code sid
This is the documentary for the project I would like to propose to MediaWiki as a part of Google Summer of Code 2013.Visit the official proposal page at #REDIRECT [[1]]
Centralized Search Engine
editSiddhartha Garg
editEmail: garg.siddhartha@gmail.com
Short description: The Wikimedia services are a great contribution to the society. Huge database and lots of things to learn, all for free. Still people don’t use Wikimedia services to its full extent and feel lazy about browsing to different places. So it came across my mind to connect all the services to produce best results at one place. I propose a project which has the potential to bring all the services together and produce handsome results from all services (Wikipedia, Wikiquote, Wiktionary , etc. ) dynamically , suggesting user the ways and methods to dig into Wiki Database and search appropriate data and also making Wiki a better learning hub by reflecting the most often searched term or topics on the page so that people can come to learn besides their own subject matter too.
Centralized Search Engine
Synopsis
edit- 1.) Dedicated search page with a perfectly functional search engine which can provide a descent way to search through all Wikimedia services being offered to users till the date. One may name it Wikisearch.
- 2.) People generally come to Wikipedia while they are searching for any relevant term of use through Google. Changing people’s perception of Wikimedia by developing an exclusive search facility to dig in WIKI database so that they directly approach Wiki Search.
- 3.) Introducing the best and popular searched queries or terms or topics and reflecting them on search page so that people can come to Wikipedia not only when they want to search a particular topic but also when they want to learn besides their own subject matter. Providing learning and education free of cost is the priority of Wiki and always will be.
- 4.) Using wiki to its full extent by providing a centralized search engine with capability of searching through every Wikimedia service and accumulating all best possible search results at one place.
- 5.) Suggesting user the method of writing his/her query in the search input box and making sure that user approach exactly where he/she intended to. Special keywords can be used to fetch the appropriate results.
- 6.) Saving every searched term and keeping track of them at every time. By keeping track I mean to say, looking for the most often used terms and the current burning issues being searched for and showing them on them on search page.
- 7.) The idea involves providing user a place where all the latest happenings of Wikimedia services are listed (the latest and most often searched topics) and an exclusive search facility to dig into the WIKIMEDIA database, producing the best accumulated results at one place.
Deliverables
editTentative Timeline:
Week 1 (Starting June 17) |
Understanding and studying in depth the database design and schema of current WIKI structure. |
Week 2 | Building the basic ER Model and Data Flow Diagrams and structuring the search engine in sync with WIKI database. Creating the required databases and documenting side by side. |
Week 3 | Designing the User Interface of the whole page. Writing the frontend code and publishing for reviews. |
Week 4 | Starting with backend programming and designing at least 1 phase of the idea per week. Most probably starting with search engine (Phase 1) and developing library functions. |
Week 5 | Backend Scripting for 2nd phase and also keep fixing bugs for previous phases (whether it is designing bugs).Phase 2 involves working on most often searched terms or topics and listing them on page. Working on library functions for phase 2. |
Week 6 | Perfecting all the work done till now and developing proper documentation and SRS representation. Testing all the features developed till now and reporting bugs. Also fixing errors and omitted features if there is any. |
MIDTERM EVALUATIONSedit | |
Week 7 | Designing error handling techniques and methods for the whole page. Handling errors and providing remedial solutions in real time. |
Week 8 | Backend programming for phase 3, i.e. suggestion list for the query being searched and trying to introduce little bit of Artificial Intelligence in the searching algorithm. Working with the search terms and keywords for appropriate query results. |
Week 9 | The phase 3 might incur 2 weeks. So I will be continuing week 8 work in this week too. Error handling will be simultaneously done with every phase for the whole concept. Also I’ll be publishing the code at every achieved milestone for reviews and feedbacks. |
Week 10 | Testing for all the phases will be done and if there’s any reported error, it will be fixed within this week. |
Week 11 | Finalizing the whole concept and creating the full documentation of the project. Giving finishing touch to the design and the functionality. Most probably the whole concept would be ready to be implemented now. |
About You
editI always had a keen interest in searching a lot on the internet whether it is DSP z-transform algorithm or about Home remedies for stomach ache. For so long I have been observing that people tend to bond with the products and services where they find social experience better and where they get results fast. This goes with Google and Facebook as instances.
Whenever I am stuck on internet I usually go to Google and finally arrive on Wiki pages for the best results and definitions. I have developed a habit of typing queries on Google like “Comet Wiki” or “Ajax Wikipedia” and then browse to wiki pages. It came across my mind a while ago about having an exclusive search page for WIKI so that I can directly go search where I intend to go.
I have been working on web projects since my freshmen year at College. Now I am a senior and currently studying in 3rd yr with almost experience of 2.5 yrs in web technologies.I have proficiency in HTML,CSS(1,2,3),JS,JQUERY,JSON,PHP,C,C++,JAVA,MYSQL and currently working through NoSQL(Redis and MongoDb). I have explored the depth of languages and algorithms at every level. Currently I am working on a big project which is in the final stages of launching. I am ready to dedicate my whole life within the world of web because its fun creating new things within the already present best. Its not just about the competition heat but also about providing the world something they can always rely on and in the end can ask for help too.
Participation
editTalking about my working style, my day usually starts at 12 midnight and I work sometimes for the whole night. Programming goes with music and I like listening Coldplay very much.
I generally work for 8-9 hours a day. Talking about a fresh project I start up with accumulating the pertaining data first. When I am confident about all the knowledge I have attained regarding I start planning on how can I implement any feature without disturbing the current structure of the system.
I try to come up with solutions as soon as possible (writing pros and cons on white boards) and then proceed ahead on the diagrammatic view of the concept or feature being built. I design the algorithms through the diagrams and write them down on the sheets for future references. After diagram phase I finally start to code frontend design. I am not a person who crams the whole language and functions involved. I work upon logic and whenever I am stuck somewhere either I open up manuals or go to google for forum discussions. After finishing frontend I usually put the page on display as screenshots describing about features in caption. I work upon feedbacks and reviews by the users. The same way I start up with backend programming and develop algorithms and test them by myself regularly for any bugs. Simultaneously I fix any designing bug that may occur due to backend scripts.
Well regarding building of communication I actively report about the progress, say in every two days on either emails or any other source you would like to mention. I may require help regarding WIKI database structure and schema or maybe sometimes assistance on few programming tweaks in sync with Wikimedia. Rest I am enthusiastic about starting up the project ASAP and finishing it.
Past Open Source Experiences
editI don’t have any experience with any open source organisation yet. If I am fortunate this would be the first time. But I have lot of experience in accomplishing projects. I have been constantly working for 2.5 yrs now and I have confidence in leading any project. Also I have always been an active user of Wikipedia, I would like to serve for betterment of education system throughout the world. No matter what the situation is I am always going to contribute for such causes. I find peace when I go to bed satisfied , thinking that I have done something good and again the morning starts with new desire to not settle down yet.