=Profile=
**Name** : Harjot Singh Bhatia
**Time zone** : UTC +5:30
**Email** : harjot4995@gmail.com
**Website** : [[ http://www.harjot4995.com | harjot4995.com ]]
**IRC username** : harjotsingh
**Gerrit** : [[ https://gerrit.wikimedia.org/r/#/q/owner:%22Harjotsingh+%253Charjot39%2540ymail.com%253E%22++status:merged | Gerrit-Harjot ]]
**Location** : Delhi, India
**Working hours** : 7:00pm to 12:00pm( workdays ) and 11:00am to 9:00pm( weekends )
=Synopsis=
The project aims to update and upgrade MediaWiki Quiz extension while adding new features and removing legacy code.
Quiz extension is currently used on several WMF projects, such as Wikiversity but has lot of bugs and limited features for users.
The project will also work on the following :
# Importing bugs from wiki and resolving them
# Implementation of data storage at backend for Quiz scores
# Updating source code to current MediaWiki standards
# Provide Evolution graph to users to monitor their data
Benefits of this project include stability and functionality to the extension and comprehensive features for users of various Wikis.Data storing is crucial feature and would increase the usage of the extension.
**Mentors**: @Mvolz, @Reedy
=Deliverables=
# **Importing and Resolving current bugs in the extension**
- Importing known bugs from Wiki page to Phabricatior
- Resolving all bugs for the extensison
# **Upgrading the code to MediaWiki standards **
- Current code used by extension is outdated and deprecated by the standards.
- This deliverable will require the use of mediawiki standards such ResoureLoader instead of legacy code.
- The extension has lot of hard coded Css which needs to be moved.
# **Writing required tests for the extension **
- The tests for the extension will be needed to be modified after upgrading the code of the extension.
- New features and function would require new tests in order to ensure proper functionality.
# ** Adding Data storage feature and improving design **
- This deliverable would require for backend scripts for database interaction and modification.
- Adding Interface to save and view saved quiz data.
- Few known bugs are related to design of the extension, most of them will be handled while resolving bugs and new features will have interactive design.
# **Updating User Documentation**
- The user documentation would be updated after the code is upgraded and new features are added to the extension.
=Timeline=
| **Tasks to be completed **|**Timeline**|
|Community bonding period, contribute more by submitting and fixing bugs and understand existing code |5 May to 30 May 2017|
|Importing and Resolving all bugs related to the extension | 30 May to 6 June 2017|
|Upgrading Code while removing legacy code |7 June to 14 June 2017 |
|Improving design, adding interactive javascript and improving code quality |15 June to 23 June 2017 |
|1st Term Evaluation | 26 June 2017|
| Writing tests for improved code | 27 June to 4 July 2017 |
| Implementation of scripts for updating and maintaining | 5 July to 13 July 2017 |
| Adding backend structure for saving quiz scores | 14 July to 22 July 2017 |
| 2nd Term Evaluation | 24 July 2017 |
| Adding interface for monitoring scores by providing special page | 25 July to 31 July 2017 |
| Writing User Documentation | 1 August to 7 August 2017 |
|Final Report Submission| 8 August to 12 August 2017 |
|Final evaluation| 21 August 2017|
**Other Commitments : **The work is more spaced out before the 1st Term Evaluation due to the university exams which will be over by 20th June.After the exams I can devote more time as I have holidays till end of July .
=Participation=
As MediaWiki uses Phabricator which is an set of powerful tools used for managing bugs and task, I also intend to use it for tracking bugs, features.It is also helpful for getting feedback from people part of the organisation.All bugs and features will have tasks linking to the project, it will allow easy tracking and monitoring.
The code base also uses Gerrit for reviewing and managing workflow.I'm comfortable with using gerrit for project development and management.
I can be contacted on email or IRC also I intend on using my outdated [[http://www.harjot4995.com/blog.php |blog]] for sharing my experience while working on the project.I will try to weekly update my blog by writing new posts.
I believe IRC and Mailing lists are great place to seek help.It would also be great to get in touch directly with my mentors via email if possible.
=About Me=
I'm 21 year old Student from Guru Gobind Singh Indraprastha University pursuing Bachelor in Information Technology and Computer Sciences.
I've been part of MediaWiki since May 2015.I enjoy working on open source technologies and love to contribute.
It been a learning experience to understand practical development at large scale.I also enjoy working on competitive programming problems and learning algorithms.
=Experience=
# ** Micro-Task** : T40372, T161318
# Worked as PHP developer at Daphnis Labs for 6 months.
**Projects** :
- [[ http://www.feeontime.com/#/home | Feeontime ]] is a finance based webapp in education domain.
- Worked on developing Webserver and dashboard for a book summary android app called Precily [[ http://128.199.106.161/ | Server link ( credentials needed )]], [[http://www.precily.com/ | Webpage ]]
- [[ https://github.com/hsb4995/Apachange | Apachange ]] is a PHP package for ubuntu/debian that changes Apache server’s root directory
# Worked as Full stack developer intern for Ruk Solutions LLP for developing [[ http://www.feecount.com/| Feecount ]]
# Academic Courses : Object oriented programming, Algorithm Desgin, Operating systems, Web technologies
# Other Resolved Tasks :
- T159458
- T1331
- T159404
- T159739
# Other merged patches : [[ https://gerrit.wikimedia.org/r/#/q/owner:Harjotsingh+status:merged | Patches ]]
=Other Info=
**Skills**
-Programming Languages : C++, PHP, Javascript, HTML
-Frameworks and Libraries: CodeIgniter, jQuery, AngularJS, Bootstrap, PHPUnit
-Operating Systems: Linux, Windows
-Tools: Git, Gerrit, Latex, Gimp, Adobe Photoshop
-Database : MySql, SQL*plus