Page MenuHomePhabricator

Proposal: Improve the Wiki Education Dashboard test suite
Closed, DeclinedPublic

Description

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:

  1. 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.
  2. Inspect tests that contribute significantly to execution time and modify them.
  3. Identify areas that have not been tested and create additional tests to increase test coverage.
  4. Enhance readability of tests by correcting unclear test desciptions, refactoring tests that are difficult to understand or maintain.
  5. Create clear documentation for the testing process and explanations for the tests written to help future contributors.
  • Possible Mentors

@Ragesoss
@Saha23s

  • 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

Event Timeline

Hi @Ragesoss, please i have drafted a proposal for the outreachy internship and would appreciate your feedback . Is the information provided sufficient and the timeline feasible? Kindly let me know what you think.

Thank you.

Hi @Ragesoss , apologies that this is coming late. The deadline for the application is almost here, but i will still like to get your feedback on the timeline for this, if you have any. Thank you very much

Thanks for your contributions @Tunrayono