Proposal for https://phabricator.wikimedia.org/T215682
=Profile Information=
Name: Edidiong Asikpo
Github: https://github.com/Edyasikpo
Blog: https://medium.com/@EdidiongAsikpo
IRC handle: Didicodes
Web Profile:
Resume: https://docs.google.com/document/d/1NEbg5Ii8yE6pCdquCg6dtSlYcjDX7RjC1HNiLxWFad4/edit?usp=sharing
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
----
=Summary=
As described on the Outreachy 18 task on phabricator(https://phabricator.wikimedia.org/T215682),
|The MediaWiki action API is a web service that allows access to some wiki-features like authentication, page operations, and search. It can provide meta information about the wiki and the logged-in user. Several Wikimedia projects make use of this API. As of now, there are ~128 pages on the Action API on MediaWiki.org. Developer-Advocacy did a little research on the state of the docs and documented a few problems and recommendations for the next steps. One of the issues we decided to address was inconsistency. For example, some pages had the automated API docs embedded; some didn’t, some pages had code samples, some didn’t, etc. As a first step, we designed a documentation template and used it to re-write top 20 viewed pages of the API. But, we realized we could not improve 128 pages all by ourselves, and opened it to new Wikimedia contributors for help :-) Our Outreachy intern Martyav put in a lot of good work in this and improved the next ~20 pages and brought this project in good shape. The goal of this project is to improve documentation of ~20 top 70 most viewed MediaWiki Action API pages on-wiki using the documention template. (OPTIONAL) If there is more time, then the next part of the project could be developing one or two demo apps around the use of Action APIs.
----
=Mentors=
Srishti Sethi (@srishakatux) and Sarah Rodlund(@srodlund)
----
=Deliverables=
* 2 to 3 improved API documentation weekly.
* Biweekly blog posts about my progress.
* Build a Demo App integrating API: Prefixsearch and API:Backlinks
* Regular communication with my mentors and other community members at WMF.
----
=Timeline=
* Community bonding period.
* Study the API pages that have already been improved and integrated(This will help me gain more
knowledge).
* Study the 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).
* Read the related API documentation
* Start working on the API:Prefixsearch
----
=About Me=
I am a software developer who is really passionate about technology because I believe technology has the ability to automate and solve a lot of problems affecting the world generally. I have a BSc in Computer Science from Renaissance University, Nigeria. Encouraging newbies to join tech space and talking about the benefits of technology is something I do voluntarily. I have a knack for learning new things and challenging myself to work on things that people would naturally thing I won't be able to do. I love experimenting when writing codes (I always want to discover what more a library, module, etc can do). Solving problems and collaborating with people is my strong forte.
**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?**
No!
**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 while I was younger.
Personally, I know how difficult it is when a user goes through documentation that is not clear enough.
----
=Past Experience=
I have 2 years experience as a software developer. I am most familiar with Java, Python, HTML and CSS.
=====MediaWiki Project=====
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 as an intern, everything I learned during the application process improved my skills as a developer.
**Below are the contributions I have made to the MediaWiki organisation:**
//Sample Code for API:Embeddedin// - https://github.com/wikimedia/MediaWiki-Action-API-Code-Samples/pull/74 //**Merged**//
//Improved Documentation for API:Embeddedin// - https://www.mediawiki.org/wiki/User:Didicodes/Sandbox/API:Embeddedin //**Approved**//
//Sample Code for API:Rollback// - https://github.com/wikimedia/MediaWiki-Action-API-Code-Samples/pull/79 //**Merged**//
//Improved Documentation for API:Rollback// - https://www.mediawiki.org/wiki/User:Didicodes/Sandbox/API:Rollback //**Approved**//
//Sample Code for API:Pagepropnames// - https://github.com/wikimedia/MediaWiki-Action-API-Code-Samples/pull/91
//Improved Documentation for API:Pagepropnames// - https://www.mediawiki.org/wiki/User:Didicodes/Sandbox/API:Pagepropnames
//Sample Code for API:Purge// - https://github.com/srish/MediaWiki-Action-API-Code-Samples/pull/5 //**Merged**//
//Improved Documentation for API:Purge// - https://www.mediawiki.org/wiki/User:Didicodes/Sandbox/API:Purge //**Approved**//
//Sample Code for API:Account_Creation//
- https://github.com/wikimedia/MediaWiki-Action-API-Code-Samples/pull/1 //**Merged**//
- https://github.com/wikimedia/MediaWiki-Action-API-Code-Samples/pull/2 //**Merged**//
//Improved Documentation for API:Account_Creation// - https://www.mediawiki.org/wiki/User:Didicodes/Sandbox/API:Account_creation
//Sample Code for API:Links// - https://github.com/wikimedia/MediaWiki-Action-API-Code-Samples/pull/49
//Sample Code for API:Random// - https://github.com/srish/MediaWiki-Action-API-Code-Samples/pull/12
//Improved Documentation for API:Random// - https://www.mediawiki.org/wiki/User:Didicodes/Sandbox/API:Random
=====Other Projects=====
* ODK Collect is an Android app for filling out forms. It's been used to collect billions of data points in
challenging environments around the world.
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. https://github.com/opendatakit/collect/pull/2045
* This app was built to show the integration between API:PrefixSearch and API:Backlinks. Article Finder
* The Microblog web app was created with Python and Flask. https://github.com/edyasikpo/microblog
* The ToDo-List web app created with the Django Python framework and bootstrap. https://github.com/edyasikpo/ToDo-List
* https://github.com/edyasikpo/Dad_Jokes
* This app helps patients remember to take their medication and provides tracking for the intake of the
prescribed medication. https://github.com/edyasikpo/MedManager
* https://github.com/edyasikpo/Waitlist
* https://github.com/edyasikpo/CurrencyConverter2
* https://github.com/edyasikpo/Sunshine
* https://github.com/edyasikpo/MaterialDesignCodelap