==Profile Information==
- Name: Bhaarat Kumar Khatri
- Email: bharatkhatri351@gmail.com
- IRC: [[https://wikimedia.zulipchat.com/#narrow/pm-with/372557-bharatkhatri351| Bhaarat Kumar Khatri ]]
- Github: [[ https://github.com/Bhaarat-khatri | Bhaarat Kumar Khatri]]
- StackOverflow: [[ https://stackoverflow.com/users/15166957/bharat-khatri | Bhaarat Kumar Khatri ]]
- Location: Agra, Uttar Pradesh, India.
- Typical working hours: I will be working from 11 AM to 8 PM on weekdays as well as on weekends. All the timings are in Indian Standard Time.
==Synopsis==
• **Short summary describing your project and how it will benefit Wikimedia projects**
The central Wikimedia portal wikimedia.org and the other sister portal pages provide central access to the Wikimedia projects. The front page of Wikipedia: www.wikipedia.org , underwent a subtle renew in 2016. The code was moved from a series of scripts on meta.mediawiki.org into a git repository which utilizes Mustache templates and a build step to generate the final HTML page. Unfortunately, Wikimedia’s other projects , wikiversity.org ,wikibooks.org, wikivoyage.org, wikinews.org, wikiquote.org, wiktionary.org left out of this refresh and their pages are still generated via the scripts on meta.wikimedia.org. The sister portals are still just HTML source code maintained as wiki pages on Meta-Wiki (with some Lua modules semi-automating updates). They wouldn’t benefit from wikipedia.org’s dynamic features.
I want to get to the point where all the portals use the same build system and resources. By Using (templates, scripts, styles) of www.wikipedia.org we can get the same build system to all sister portals. This change will benefit all Wikipedia’s sister portals and it will increase the design and user experience of page visitors.
• **Mentor(s)**: @Jdrewniak
• **Have you contacted your mentors already?** Yes!
==Deliverables==
**July12 – July 16 (Phase 1 Evaluation period)**
• Modernized portal wikitionary.org and wikiversity.org with all the dynamic features of Wikipedia.org.
**August 16 – August 23 (Final Evaluation period)**
• Modernized portal wikibooks.org, wikiquote.org, wikinews.org and wikibooks.org with all the dynamic features of Wikipedia.org.
• Updated Documentary regarding all changes in codebase.
**Additional**
• I plan to start a blog where I will write about my work on this project once every two weeks. This blog will help us in three way
# It will help mentor to track my current progress.
# It will help me for updating documentations.
# It can also help New contributors who want to understand the codebase in deep.
• I will continue to maintain the portals even after the GSoC program.
**Proposal Timeline **
| Period |Week No|Timeline (Before the official coding time):|
|--|--|--|
| May 17 – May 23 |(Week-1)|Get to know the Community more, and bond with mentors, admins and developers and familiarizing more with codebase (Html templates, CSS, JavaScript, i10 files, Gulp Build Pipeline).|
|May 23 - May 28 |(week-2)| Read more about gulp build system and familiarize myself with plugins used in codebase.|
|May 29 - June 4|(week-3)| Factor out common files (templates, postcss, js, i10jsons) which will be used in all portals.|
|June 4 - june 7|(week-4)|During this period, I will remain in constant touch with my mentor and the Zulip community to discuss and finalize on the modifications of portals.Thus, with the help of my
mentor I will become absolutely clear about my future goals, the final implementations|
|**Period**|**Week No**|**Timeline (Official coding period starts):**|
|(June 7 – June 13) |(Week-1) |Transfer all common files (templates, postcss, js, i10-jsons) into new folder name “common” and make required changes in the gulp file so that portal wikipedia.org works well.|
|(June 14 – June 27) |(Week-2 and Week-3)| Start working on modernizing wikitionary.org portal.|
|(June 28 - July 11)| (Week 4)| Start working on modernizing wikiversity.org portal.|
|**(July12 – July 16)**| | **(Phase 1 Evaluation period)**|
|(July 17 - July 23)| (Week-1) |Start working on modernizing wikibooks.org portal|
|(July 24 - July 30)| (week-2)| Start working on modernizing wikiquote.org portal.|
|(July 31 - August 6 )|(week-3)|Start working on modernizing wikinews.org portal|
|(August 7 - August 16) | (Last week)|Last week's buffer for Unpredictable delays and bugs and Work on updating documentation with the help of mentor.|
|**(August 16 – August 23)**| |**(Final Evaluation period)**|
==Participation==
• I will be available (within 7:00 AM to ~1:00 AM IST) for communicating through my Gmail: bharatkhatri351@gmail.com
• I’ll be active on the #portal IRC channel and will be asking any general queries regarding Wikimedia/portals there.
• I’ll contact to @Jdrewniak through #IRC channel regarding any urgent queries regarding Wikimedia/portals.
• I have a good experience dealing with Gerrit. So, I'll be committing my progress to the master branch of the wikimedia/portals extension via Gerrit.
• I have also a good experience with dealing with Phabricator. So, I will use it for getting community review, publishing errors and questions relevant to my tasks.
==About Me==
**Education:**
I’m a second-year student pursuing a Bachelor’s Degree in Information Technology at Kamla Nehru Institute of Technology (U.P), INDIA. I completed my schooling at Saraswati Vidya Mandir, Agra. I have been studying Computer Science for over six years (since my 7th grade) and am fairly proficient in general coding concepts, including data structures and algorithms. I have also good knowledge of Web Development (Front-end and backend). I am also good at competitive coding.
**Where did you hear about GSoC?
**I heard about GSoC from YouTube. Then I researched more about it at GSOC official website.
**What other commitments do you have during the course of this program?**
I don't have any other commitments in the future. I have not much workload from my college. So, my only priority in this summer would be to work on this project and give my best as possible.
**We advise all candidates eligible for Google Summer of Code and Outreachy to apply for both programs. Are you planning to apply to both programs and, if so, with what organization(s)?**
Not Yet , Right now my full focus is on this project. But i will also view that too.
**What will working on this project mean to you?**
This project means a lot to me because during this project i will learn new technologies and concepts. Whatever I will learn in this project I can use it to help other people by creating new projects. Working on this project will mean a lot to me in terms of personal satisfaction too. There's pride in knowing that my code will be part of something as amazing as Wikimedia. This project will give me the opportunity to repay back the debt I feel I have incurred from Wikimedia volunteers as a student due to my dependence on Wikipedia for my school projects. Further, working on this project will give me the opportunity to grow and bloom as a developer which inspires me to take up this project.
==Past Experience==
**Wikimedia**
I have been a part of the Wikimedia community since December 2019. I have worked on total 13 tasks from which issues 12 are resolved. I am contributing for **(Wikimedia/portals)** from February 2021 and I have also worked on quite microtask of (Wikimedia/portals). I have also good knowledge of the workflow used in it and about its build system.
# [[ https://phabricator.wikimedia.org/T209010 | Use non-output handlebar template comments over output ones ]] **(Merged)**
# [[ https://phabricator.wikimedia.org/T194134 | Wrap gulp tasks in NPM scripts to avoid global gulp dependency]] **(Merged)**
# [[ https://phabricator.wikimedia.org/T219917 | Control / middle-clicking search auto-completion results dismisses the results ]] **(Merged)**
# [[ https://phabricator.wikimedia.org/T262658 | Update/Fix npm dependencies for wikimedia/portals.git ]] **(Merged)**
# [[ https://phabricator.wikimedia.org/T255929 | The line does not return to its original position after hiding the list on wikipedia.org ]] **(Merged)**
# [[ https://phabricator.wikimedia.org/T255711 | Too large link's area in 'Other project' section on wikipedia.org ]] **(Merged)**
# [[ https://phabricator.wikimedia.org/T277503 | Border disappears very abruptly.]] **(Merged)**
# [[ https://phabricator.wikimedia.org/T278035 | Rename dev folder to src ]] **(Merged)**
# [[ https://phabricator.wikimedia.org/T270403 | Change some icons position to center (Top-down)]] **(Merged)**
# [[ https://phabricator.wikimedia.org/T271437 | rename pagegenerators.GeneratorFactory.handleArg]] **(Merged)**
# [[ https://phabricator.wikimedia.org/T270946 | remove magic coding comments]] **(Merged)**
# [[ https://phabricator.wikimedia.org/T264503 | Implement undo for the instant "Rotate video ]] **(Merged)**
# [[ https://phabricator.wikimedia.org/T277405 | Refactor Gulpfile.js tasks into separate files ]] **(In progress)**
**Personal Experience**
I have been studying Computer Science for over six years (since my 7th grade) and am fairly proficient in general coding concepts, including preliminary data structures and algorithms. I am also a 3-star coder at codechef. ([[ https://www.codechef.com/users/bhaaratkhatri2 | CodeChef]])
I have also good knowledge of Web Development (Front-end and backend). I have quite a bit of experience with HTML, CSS and JS having taught myself Additionally, I know basic of NodeJS, Reactjs and MongoDB.
I have made few projects which include above technologies: -
1.** [[ https://premnotes.herokuapp.com/ | Premnotes]]**
Goal of this Project is to provide Quality notes of all subject at one place to every student during exams time. Fortunately, this website is used by 100’s of student in my college which makes me always motivated to make this project better as much as possible I can.
During working on this project, I have learned new technologies like ejs(templates) etc. I have also learnt to write clean code with comments so that it can be readable by others developers. Technologies used in this project (HTML, EJS, CSS, JS, NodeJS, MongoDB).
2.** [[ https://bankingwebbykhatri.herokuapp.com| Basic Banking System]]**
I have worked in this website during my training-based internship. In this website, I made a demo account of 10 people with some amount balance. Functionality of this website is to transfer money from one dummy account to other dummy account. And save all transactions details.
During this project I learned to worked on NodeJS and mongo DB. I also learned to host websites at different platforms. Technologies used in this project (HTML, CSS, JS, NodeJS, MongoDB).
3.** [[ https://bhaarat-khatri.github.io/ResponsivePage/| Responsive Page ]]** (It’s a simple responsive page with little animation)