Proposal for https://phabricator.wikimedia.org/T215682
===Profile Information
Name: Edidiong Asikpo
Github: https://github.com/Edyasikpo
Blog:
IRC handle: Didicodes
Web Profile:
Resume:
Location: Lagos, Nigeria
Time Zone: (UTC + 01:00) West Central Africa
Typical working hours: 11 AM - 8 PM (UTC + 01:00) West Central Africa
User Page: https://www.mediawiki.org/wiki/User:Didicodes
===Synopsis
The MediaWiki Action API is a web service that allows access to some wiki-features. Some of the current uses of the MediaWiki Action API include: monitoring a MediaWiki installation, creating a bot to maintain a MediaWiki installation and logging into a wiki, accessing data, and posting changes by making HTTP requests to the web service.
The documentation of the MediaWiki Action API serves as a guide for anyone who is looking for more in-depth information about the API. It guides developers on how to integrate the API in their apps or websites explaining and providing code examples for many common integration use cases like authentication, page operations, search, etc. Source [[https://www.mediawiki.org/wiki/API:Main_page|MediaWiki API:Main_page]]
=== Mentors
Srishti Sethi (@srishakatux) and Sarah Rodlund(@srodlund)
===Deliverables
* 2 to 3 improved API documentation
* Blog posts on my progress every two weeks.
* Regular communication with my mentors and other community members at WMF.
* Build a Demo App for API: Categorymembers
====Summary
===Timeline
16th November - 3rd December
* Community bonding period.
* Study the API pages that have already been improved and integrated(This will help me gain more
knowledge).
* Study the Top 30 API pages and start writing sample codes for every page that requires sample codes(I am
doing this because I realized that writing the codes took a longer time than improving the documentation
itself for me, I believe this will make working on the pages easier when the internship starts).
* Complete a python course I started on udemy here to give me a better understanding of making simple and
complex HTTP requests to APIs using Python
* Read related API documentation
* Start working on the API:Categorymembers Demo App
===About Me
I am a graduate of the Department of Computer Science, Renaissance University, Nigeria. I am a keen observer and I love to learn new things and work in collaboration with people. This will be my first participation in the Outreachy Programme.
- How did I hear about outreachy?
I heard about the outreachy program on social media(Facebook ), I saw it on a post made by an open source advocate on my timeline. It looked interesting so I asked him for more explanations then clicked on the link, read about it and decided to apply for it.
- Will I have any other time commitments, such as school work, another job, planned vacation, etc, during the duration of the program?
- What does making this project happen mean to me?
I am particularly interested in this project because of all the amazing information I have gotten from the free encyclopedia (Wikipedia). Wikipedia has always been one of the best sources of acquiring any information I was looking for since I was younger, I literally always found almost everything I needed and it got me wondering how the owners of Wikipedia could achieve this. So it would basically be an honor for me to contribute and help more people in the world get the correct information they are all searching for. The fact that the codes or documentation I contribute would be merged someday and thousands of people all over the world would use it is the most exciting part of this journey.
===Past Experience
I have experience in working with android development with proof [[https://github.com/Edyasikpo|here]]. I am familiar with GitHub, link to proof [[https://github.com/Edyasikpo|here]]. Skill sets include Python, HTML, CSS, Java, XML, I am also a lead for Facebook Developer Circles in Uyo, Nigeria with proof [[https://web.facebook.com/groups/DevCUyo/members/|here]]
I started contributing to an open source organization named Open data Kit early this year. ODK is an Android app for filling out forms. It's been used to collect billions of data points in challenging environments around the world. Contribute and make the world a better place! I solved some code based issues in Java and XML, the links to those are -
====Open Data Kit
Open Data Kit is a free and open-source set of tools for collecting data in challenging environments.
https://github.com/opendatakit/collect/pull/2045
Eager to give open source contribution a try in 2018, the above repository was my first time participating in open source. I wrote codes that made the Collect App support escaping markdown characters using a backslash. I used Java and regular expressions (Regex) to work on this. I was so excited when my commits were merged to the ODK’s main repository.
==== MediaWiki
I joined the MediaWiki Community on the 20th of September , 2018 as an outreachy applicant for the project “Documentation improvements to the top 50 most viewed API pages on the MediaWiki Action API”. Even though I didn't get selected for the spot, I learnt how to edit wiki pages, write templates, use phabricator and improve my coding skills in python.
I was able to make the following contributions listed below:
Sample Codes for API:Purge
https://github.com/srish/MediaWiki-Action-API-Code-Samples/pull/5 **Merged**
Sandbox for drafting improvements to API:Purge page
https://www.mediawiki.org/wiki/User:Didicodes/Sandbox/API:Purge **Approved**
Sample codes for API:Account_Creation
https://github.com/srish/MediaWiki-Action-API-Code-Samples/pull/1 **Merged**
Sandbox for drafting improvements to API:Account_Creation page
https://www.mediawiki.org/wiki/User:Didicodes/Sandbox/API:Account_creation
Sample codes for API:Random
https://github.com/srish/MediaWiki-Action-API-Code-Samples/pull/12
Sandbox for drafting improvements to API:Random Page
https://www.mediawiki.org/wiki/User:Didicodes/Sandbox/API:Random