Overview
Wiki Education Dashboard (the Rails app that powers Programs & Events Dashboard) is a complex web app for keeping track of contributions to Wikimedia projects. It's widely used by the global Wikimedia community for edit-a-thons, classroom wiki writing assignments, and a variety of other initiatives.
The goal of this project is to improve the system's JavaScript by updating dependencies, replacing unmaintained libraries, and generally trying to take advantage of recent improvements in the JS ecosystem.
Possible tasks include:
- Upgrading to the latest version of Webpack (from version 4 to 5)
- Removing the use of jquery so that it can be dropped as a dependency
- Replacing the unmaintained react-motion library with a well-maintained alternative
- Identifying deprecated or unmaintained dependencies and upgrading/replacing them
- Analyzing the JavaScript dependencies to identify opportunities to reduce bundle size
Technology & skills
The Dashboard is primarily built with the React JavaScript framework (for the frontend), and Ruby on Rails (for the backend). It will require knowledge of JavaScript, and ideally some experience with Webpack and dependency management. Experience with Ruby is not required, although it may be helpful.
Mentor(s)
- Sage Ross (@Ragesoss )
- Dhruvdutt Jadhav (https://github.com/dhruvdutt )
Getting started
To explore this project, you'll want to begin by setting up a development environment: https://github.com/WikiEducationFoundation/WikiEduDashboard/blob/master/docs/setup.md
Email sage @ wikiedu.org to request an invitation to the project's Slack, where you can ask questions and get help with setting up a dev environment.
You can also browse the 'newcomer friendly' issues for the Dashboard, which can make good first tasks: https://github.com/WikiEducationFoundation/WikiEduDashboard/issues?q=is%3Aissue+is%3Aopen+label%3A%22newcomer+friendly%22