===Profile Information
**Name**: Raymond Olisaemeka Ndibe
**Timezone**: UTC+1
**Web Profile**: https://raymond-ndibe.netlify.com
**Resume**: https://drive.google.com/open?id=1yTsj7ICGBLhVi7ZW-sZPRUCdXOPhhc1I
**Github**: https://github.com/NdibeRaymond
**Location**: Nigeria
**Working Hours**: 10 am - 3 pm UTC+1, 8 pm - 12 am UTC+1
===Synopsis
WikiContrib is a tool for community members to visualize their technical contributions within a specified time range. One of the use cases for this tool is when Wikimania scholarship committee is trying to evaluate scholarship applicants based on their contributions to decide who qualifies for the scholarship. Currently, the tool gathers statistics from Phabricator and Gerrit. This proposal is about improving the tool further by working on the following features:
* Counting technical contributions made to Github repositories under Wikimedia and other popular projects that
are not necessarily under the Wikimedia account (e.g. wikiEduDashboard, apps-android-commons, etc).
* Counting technical contributions made by a user on -wiki such as modules and templates, user scripts and
gadgets
* Counting any other contributions that can be measured as per the technical contributor's map
* Fetch the best user avatar and about information from the possible venues and display it alongside the
contributions statistics.
==Why Is This Necessary?
The tool in its present state only helps to visualize contributions made through Gerrit or Phabricator. Wikimedia Github account has 2200 repositories under it and any contributions made to any of those repositories are currently not being covered by WikiContrib; the same goes for technical contributions made by a user on-wiki such as modules and templates, user scripts & Gadgets, etc. The problem with this is that users making contributions to projects on Github or on-wiki are not properly represented, if they apply to Wikimania scholarship and this tool is to be used for candidate evaluation, they won't stand a chance of being selected. The proposed features will help solve these issues.
==How Will The Proposed Features Benefit Wikimedia Projects?
This tool was developed because among other things, it could also help Wikimedia project maintainers discover contributors who have the potential of becoming long-term contributors and help them grow. Right now, the tool is only partly fulfilling that purpose. The proposed features will further broaden the scope of this tool, accounting for contributions made to more than 2000 repositories previously unaccounted for and bringing many more potential long-term contributors under the radar of project managers. This will help ensure that the projects will have enough dedicated contributors to keep on maintaining them in the future.
**Mentor(s)**: @srishakatux @Rammanojpotla @Tuxology
- Have you contacted your mentors already? Yes
===Deliverables
| Period | Task
| ----- | -----
| Apr 27 - May 5 | **community bonding**. Get to know more about the community and its members. Continue fixing new issues.
| May 5 - May 12 | Gather information, ask questions about the confusing parts of the features to be implemented. Create plans and designs of how the finished implementation would look and work. Share the designs with the mentors and get feedback
| May 12 - May 23 | Start Working on the feature to count contributions on Wikimedia account on GitHub
| May 23 - Jun 2 | Start working on the feature to count contributions on other popular repositories that are not under Wikimedia account, like WikiEduDashboard
| Jun 2 - Jun 9 | Build the UI to display the additional Github contributions that would be coming with the backend data and ensure it doesn't affect the existing UI
| Jun 9 - Jun 19 | **Feedback and wrap up of the Github contributions counting phase**
| Jun 19 - Jun 26 | Start working on the feature to count technical contributions by users on-wiki for modules and templates
| Jun 26 - Jul 3 | Start working on the feature to count technical contributions by users on-wiki for user scripts and gadgets, etc
| Jul 3 - Jul 10 | Start working on the features to count any additional measurable contributions according to the technical contributor's map
| Jul 10 - Jul 19 | Build the UI to display the additional on-wiki technical contributions that would be coming with the backend data and ensure it doesn't affect the existing UI
| Jul 19 - Jul 26 | **Feedback and wrap up of on-wiki contributions counting phase**
| Jul 26 - Aug 2 | Modify the backend to fetch best user avatar and about information from the possible sources and add it to the data being returned from the backend
| Aug 2 - Aug 9 | Build the UI to display the additional user information like avatar coming from the backend
| Aug 9 - Aug 18 | **Feedback and wrap up of the whole project**
===Other Deliverables===
* Blog post on my progress every week
* Regular communication with my mentor(s) and other community members
===Participation
Describe how you plan to communicate progress and ask for help, where you plan to publish your source code, etc
* I will continue using my existing fork of the wikiContrib repository to upload changes made and create pull-requests for mentor(s) to review and merge
* I will be online on IRC in my working hours (10 am - 3 pm UTC+1, 8 pm - 12 am UTC+1) to collaborate with mentors and
community members.
* I will use Phabricator as well as Github for managing bugs and subtasks.
* I will be available on Gmail to be contacted when needed in the non-working hours.
===About Me
**Your education (completed or in progress)**
I am a Google Africa Developer Scholar yet to take my certification exams. I Obtained a Diploma in electrical / electronics Engineering in 2016 from DonBosco Institute of Technology Anambra Nigeria.
**How did you hear about this program?**
This is my first Outreachy application and I heard about it from my friend and mentor who inspired me to become a developer. I registered because I saw that Outreachy is an equal opportunity program, where your race, ethnicity, financial status, gender identification, formal educational background and the other things that normally matter in the society I live in doesn't matter and doesn't decide if you are selected or not.
**Will you have any other time commitments, such as school work, another job, planned vacation, etc, during the duration of the program?**
I am free from any time commitment throughout the duration of the internship
**What does making this project happen mean to you?**
I chose to work with Wikimedia because to me, Wikimedia was this mysterious yet important university of some sort that has guided me throughout my journey as a technician and as a developer. Always present to answer difficult questions I might have, access to books I may not be able to access otherwise, etc. It feels great to finally get the opportunity to become part of something as great as this, helping others like me get access to information and tools they need to succeed alongside people who are privileged.
===Past Experience
I am a beginner mobile web specialist and associate cloud engineer with experience in HTML, CSS, Javascript, Python, Git, DialogFlow, Google cloud. Prior to this program, I have developed a number of React and Django based web-apps which are listed on my [personal website](https://raymond-ndibe.netlify.com).
I am a member of Open-source Community Africa (OSCA), Google Developer Group (GDG) and Andela Learning Community
====Open-source Contributions====
**Google Web Fundamentals Website**
Google web fundamentals is a free and open-source project with the goal of educating people on how to build modern websites with best practices in mind.
* https://github.com/google/WebFundamentals/pull/8367
* https://github.com/google/WebFundamentals/pull/8368
* https://github.com/google/WebFundamentals/pull/8366
**WikiMedia WikiContrib Tool**
* https://github.com/wikimedia/WikiContrib/pull/170
* https://github.com/wikimedia/WikiContrib/pull/135
* https://github.com/wikimedia/WikiContrib/pull/129
* https://github.com/wikimedia/WikiContrib/pull/128
* https://github.com/wikimedia/WikiContrib/pull/179
* https://github.com/wikimedia/WikiContrib/pull/177
* https://github.com/wikimedia/WikiContrib/pull/120
* https://github.com/wikimedia/WikiContrib/pull/159
* https://github.com/wikimedia/WikiContrib/pull/119
* https://github.com/wikimedia/WikiContrib/pull/118
* https://github.com/wikimedia/WikiContrib/pull/113
* https://github.com/wikimedia/WikiContrib/pull/109