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),From the [[ https://www.outreachy.org/may-2019-august-2019-outreachy-internships/communities/wikimedia/#documentation-improvements-to-the-20-top-70-most-v | project description ]] on [[ https://www.outreachy.org/ | Outreachy ]],
|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-AdvocacyOur team 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. and opened it to new Wikimedia contributors for help :-) Our Outreachy intern MartyavOur Outreachy intern Marty Hernandez Avedon put in a lot of good work in thise project in Round 17 and improved the next ~20 pages and brought this project in good shape.! The goal of this project isin Round 18 would be to improve documentation of ~20 top 70 most viewed MediaWiki Action API pages on-wiki using the documentation 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: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: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: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=====
* https://github.com/opendatakit/collect/pull/2045 ODK Collect is an Android app for filling out forms. It's been used to collect billions of data points in
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/edyasikpo/Article-Finder This is a demo app for `API:Prefixsearch` that performs a prefix
search for page titles. For instance, if a user read about an article some months ago about star wars but today
she wanted to read the article again and she couldnt remember the exact one. All she can remember is that
the article had something to do with star wars. If the user types in star wars on this app, https://github.com/opendatakit/collect/pull/2045all the articles
associated with star wars would be displayed then she will easily be able to find the particular article she was
looking for. I also hope to integrate this app with `API:Backlinks`.
* This app was built to show the integration between API:PrefixSearch and API:Backlinks. Article Finder* https://github.com/edyasikpo/microblog The Microblog web app was created with Python and Flask.
* The Microblog web app was created with Python and Flask.https://github.com/edyasikpo/ToDo-List A ToDo-List web app built with Python and Django. Just like any
other ToDo List app, this app enabled a user to add items to the ToDo-List, https://github.com/edyasikpo/microblog
* The ToDo-List web app created with the Django Python framework and bootstrap.cross off the items when it has
been completed, https://github.com/edyasikpo/ToDo-Listuncross the item if it was mistakenly crossed off and also delete the items on the ToDo-list.
Working on this app thought me a lot about the MVC(Model View Controller) framework and utilizing
repository pattern.
* https://github.com/edyasikpo/Dad_Jokes
* https://github.com/edyasikpo/MedManager
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