Profile Information
Name: Motunrayo Ilawole
Email: tunrayoilawole99@gmail.com
Github: https://github.com/TunrayoIlawole
Location: Lagos, Nigeria
Timezone: WAT (GMT + 1)
Synopsis:
- Summary
The wiki education dashboard is a Ruby on Rails application with a mixed React and server-rendered frontend. It is a platform that was designed by the Wiki Education Foundation to manage assignments and programs where participants create and improve Wikipedia content, making it easier for newcomers to contribute constructively to Wikimedia projects.
As a proposal for the Outreachy internship, i would like to contribute to the Wiki Education Dashboard test suite. My objectives for this project are:
- Collaborate with mentors and the development team to identify and locate tests that frequently fail or pass inconsistently and ensure they are stable and reliable.
- Inspect tests that contribute significantly to execution time and modify them.
- Identify areas that have not been tested and create additional tests to increase test coverage.
- Enhance readability of tests by correcting unclear test desciptions, refactoring tests that are difficult to understand or maintain.
- Create clear documentation for the testing process and explanations for the tests written to help future contributors.
- Possible Mentors
- Have you contacted your mentors already?
Yes
Deliverables
- Timeline:
Week 1 - 2:
Review recent CI logs to identify common intermittent failures and slow-running tests
Analyze the test suite to find low-coverage areas and tests to be improved.
Discuss with mentors and create a prioritized list of improvements based on findings.
Week 3 - 5
Address identified test failures by refining test dependencies or adjusting timing issues
Re-run and monitor the tests across various environments
Week 6 - 8
Write new tests using rspec and jest for identified areas that lack coverage, focusing on core features
Use Simplecov and Instanbul to verify improvements and reasses priority area
Work with mentors and maintainers to ensure new tests meet project requirements
Week 9 - 11
Research on and implement optimization techniques to reduce total run time in CI pipeline.
Monitor and record performance improvements.
Week 12
Refactor existing tests that need improvement in readability and maintainability
Enhance test descriptions and structure
Create helper methods for repeated logic
Week 13
Document test suite improvements, including any new changes to the CI setup
Perform a final review and make final adjustments based on feedback from mentors.
Participation
I have already forked the repo and worked on my branch, but will create new branches for different tasks.
I will use clear messages on my commits and pull requests, detailing all changes made to the code base.
I will be reachable on Slack or via email depending on the mentor's preference
I will document the whole process and the code being written.
About Me
- Education
Bsc Industrial Chemistry, University of Lagos, 2021.
Fullstack Development Nanodegree, Udacity.
I started learning how to code in 2020 during the pandemic because I realized just how much technology was impacting the world and i decided that i wanted to be a part of that. Several months into my learning journey, i discovered that solving technical problems were more enjoyable to me than creating chemical solutions, and that was what motivated me to pursue a career in tech full time.
I am a member of the She Code Africa (SCA) community, which is an organization empowering women in technology across Africa, and the Google Developer Students Club (GDSC) where i have volunteered in events.
- How did you hear about this program?
I heard about Outreachy through an open source event organized by Open Source Community Africa (OSCA) i attended.
- Will you have any other time commitments, such as school work, another job, planned vacation, etc, during the duration of the program?
I have no other commitments.
- We advise all candidates eligible for Google Summer of Code and Outreachy to apply for both programs. Are you planning to apply to both programs and, if so, with what organization(s)?
I will also apply to GSOC with Wikimedia if i am chanced.
- What does making this project happen mean to you?
As an avid user of Wikipedia and Wikimedia commons, and a contributor, making this project means a lot to me. The prospect of knowing that my work would directly contribute to the reliability and effectivness of tools that empower knowledge-seekers like me worldwide is exciting.
This project is also an opportunity to build on my skills in testing and quality assurance, while improving the user experience of a platform i have used constantly for years. Being able to contribute to a resource that serves such a broad and diverse audience is meaningful to me.
Past Experience
I have been a user of Wikipedia for many years and have contributed to a few articles. Some of the other open source software i use regularly are Linux, VLC, Eclipse and Firefox.
My journey as an open source contributor started about a year ago. I participated in the first edition of the Github All In Africa program, a program designed to provide African open source enthusiasts with the skills and knowledge needed to contribute to open source.
I made a contribution to the Pieces application documentation:
https://github.com/pieces-app/documentation/pull/537
I have also made small contributions to the She Code Africa Lagos code base:
https://github.com/SCALagos/SCALagos/pull/18
Wikimedia Contributions
https://github.com/WikiEducationFoundation/WikiEduDashboard/pull/5976