To contribute to WikiEduDashboard, start with the project’s official setup guide, use its automated installer if your operating system is supported, then follow the contribution guide to choose an issue and submit a pull request. Windows contributors should use Ubuntu through WSL 2.
What you are setting up
WikiEduDashboard is a Wiki Education Foundation web application for Wikipedia courses, edit-a-thons, and other editing programs. Instructors and organizers create course or campaign pages; participants join, and the Dashboard collects editing activity and related article information. The codebase serves both the Wiki Education Dashboard at dashboard.wikiedu.org, used primarily by higher education programs in the United States and Canada, and the Wikimedia Programs & Events Dashboard at outreachdashboard.wmflabs.org, used by global Wikimedia community programs. See the official repository.
As an Amazon Associate I earn from qualifying purchases.
The application combines a Ruby on Rails backend and Sidekiq background jobs with a front end built mostly with React and Redux, plus some Haml-rendered Ruby templates. Its RSpec suite includes browser-based feature specs, so a minimal app launch and a complete development/test environment are not the same thing.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Choose an installation route
Automated setup
The project’s setup guide documents an automated script for Debian-based Linux distributions, Fedora, and macOS. It lists Git, Node 14 or newer, Python 3.5 or newer, Ruby 3.4.8, and apt on Debian or Homebrew on macOS as prerequisites. These versions can change; check the live guide before installing runtimes.
#1 Best Overall
- Clone the official repository:
git clone https://github.com/WikiEducationFoundation/WikiEduDashboard.git - Change to the cloned directory:
cd WikiEduDashboard - Run the installer:
python3 setup.py - Respond to prompts for root or MySQL passwords if they appear, then let the script finish.
- If setup fails, inspect
setup/log.txt. The setup guide directs contributors to report errors in the linked issue or ask in the project Slack.
For unsupported systems, the guide describes fallback paths such as system-specific setup scripts or manual installation. It also addresses custom database configuration, MySQL password problems, and a Windows RUNAS ERROR; consult those instructions rather than guessing at a fix.
Windows: use Ubuntu on WSL 2
The project’s contribution guide recommends Ubuntu through Windows Subsystem for Linux 2 (WSL 2), not RubyInstaller or RailsInstaller. Once Ubuntu is installed, use the Linux setup route described in the project docs. If you use the Windows batch script and encounter RUNAS ERROR, the setup guide’s fallback is to run it from an administrator command prompt.
Rank #2
Manual quick start
The manual route is intended for developers already comfortable with Rails. It can get the application running, but it omits some requirements and configuration needed for all tests and features.
Free tools Windows power users keep installed
One-click scans. No signup required.
- Fork and clone the repository, then enter its directory.
- Install Ruby dependencies with
bundle install. - Copy
config/application.example.ymltoconfig/application.ymlandconfig/database.example.ymltoconfig/database.yml. - Configure a MySQL-compatible database. It must use the
utf8mb4character set andutf8mb4_unicode_cicollation to match the project schema. - Run database migrations with
rake db:migrate. - Install JavaScript dependencies with
yarn, then runyarn startto build and watch assets. Useyarn buildto create a production asset build instead. - Start Rails with
guardorrails s, then open http://localhost:3000.
The abbreviated route skips the test database and grants required by the full test workflow. The detailed setup guide provides an example development and test database configuration, including user permissions. Keep any example credentials limited to local development; do not reuse them in another environment.
Rank #3
What a fuller development environment needs
Install additional components according to the work you plan to do. The setup guide describes these dependencies and their roles:
| Component | Why it matters |
|---|---|
| MariaDB or MySQL | Stores application data; use the required utf8mb4 charset and utf8mb4_unicode_ci collation. |
| Ruby gems and Yarn/Node modules | Provide the Rails backend and JavaScript front end. |
| Redis | Runs Sidekiq background jobs. Some features, especially those involving Wikipedia edits, will not work while Redis is down. |
| Memcached | Supports the development cache. Tests override this cache with a null store. |
| Pandoc | Supports document-related functionality described in the setup guide. |
| Chrome or Chromium | Needed for Selenium-driven browser feature specs. Selenium Manager downloads a matching driver on first use, according to the guide. |
| OAuth configuration | Optional unless your work touches WikiEdits features. |
For a fuller local run, migrate both development and test databases. You can populate example courses with rake dev:populate. Start Redis for background jobs, then run guard on macOS or Debian, or rails s on Windows. Run yarn start to build and watch JavaScript and styles, or yarn build when tests or other work need minified on-disk production assets.
Rank #4
Optional React hot reloading
For React-heavy pages, the setup guide documents hot module replacement: set hot_loading: true in config/application.yml and run yarn hot. Tests that require assets on disk need yarn build rather than relying on the hot-loading server.
Recommended Free Tools
Move from a working app to an open-source contribution
The project says, “This project welcomes contributions, and we try to be as newbie-friendly as possible.” Its contribution guide recommends following the setup documentation, trying the automated script first, and reporting problems that require manual setup.
Best Value
- Used Book in Good Condition
- Explore the project’s issue list and select one issue that interests you.
- Comment on that issue to indicate you plan to work on it. The project does not assign issues; work on one issue at a time.
- Make your changes and open a pull request. Mark it as a draft if it is not ready to merge; mark it ready for review when requested changes are complete.
Slack is the project’s main collaboration venue. The contribution guide identifies Sage Ross (ragesoss) as a contact and says interested contributors can email [email protected] to ask for a Slack invitation.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




