The Wiki Education Dashboard is a Ruby on Rails + React app that runs dashboard.wikiedu.org as well as outreachdashboard.wmflabs.org: https://github.com/WikiEducationFoundation/WikiEduDashboard
The app has a JavaScript frontend built mostly in React, but it's evolved gradually over the last several years, through a number of trends in JavaScript frontend technology. The build uses both gulp and webpack, and there are a number of libraries — including jquery — that should be updated or in some cases removed. The JavaScript build also doesn't currently make use of code splitting, which could potentially improve performance for many users.
The focus of this project will be to improve the Dashboard's build tooling, possibly including:
- replacing the use of jQuery with vanilla JavaScript
- removing unnecessary dependencies and reducing bundle size
- configuring the app to Webpack's code splitting features
- integrating the internationalization (i18n) files into Webpack and adding fingerprinting to the i18n files
- reducing the use of gulp in the build pipeline, or removing it altogether
- other ways to improve the build that we haven't thought of yet!
This project requires knowledge of JavaScript; experience with React and with configuring and using Webpack will be very beneficial. Knowledge of Ruby and Rails is also helpful, but not necessary.