Skip to content

wikimedia/WikiContrib

Repository files navigation

WikiContrib

WikiContrib is a tool for Wikimedia community members to visualize their technical contributions within a specified time range. Currently, the tool gathers statistics from Phabricator (task management system) and Gerrit (code collaboration platform).

This project was proposed in the Google Summer of Code 2019 and developed as an internship project by Rammanoj Potla. It also received small improvements from students as part of the Google Code-in contest.

Technologies used: Django (Python), React (Javascript)

Planned features

WikiContrib is participating in Outreachy Round 20. Some of the features planned for the Outreachy project "Gather and analyze user contributions on wiki & Github" and for the future to enhance the project are:

  • Counting technical contributions made by a user on-wiki such as modules and templates, user scripts & Gadgets, etc.
  • Counting technical contributions made to Github repositories under Wikimedia and other popular projects that are not necessarily under the Wikimedia account (e.g., WikiEduDashboard, apps-android-commons, etc.).
  • Anything else that can be measured as per the Technical Contributors Map.
  • Fetch the best user avatar and about information from the possible venues and display it alongside the contribution statistics.
  • New layouts for visualizing contributions.

Using the tool

To view a community members’ contributions, provide their full name, Gerrit username, and Phabricator username. By default, the tool searches for their contributions in the past year. There are options to filter by timestamp and issue type (for example: merged, open, etc.) There is also a feature to upload a list of usernames in a CSV format and view contributions for several community members altogether (this feature is still in experimental mode).

Getting Started

  • First, clone the repo git clone https://github.com/wikimedia/WikiContrib.git

Using Docker Compose

  1. Run cd WikiContrib
  2. To install docker-compose, run pip install docker-compose
  3. Set up the environment file: Copy contents of backend/WikiContrib/WikiContrib/.env.example to a new file backend/WikiContrib/WikiContrib/.env. Update it! Most likely you will be making changes only to DB_NAME, DB_USER, DB_PASSWORD and PHAB_KEY variables.
  4. To start the front-end as well as back-end server, run docker-compose up --build.
  5. Frontend running at localhost:3000 and backend running at localhost:8000
NOTE:
  • Use the --build flag only when running docker-compose for the first time. For repeated use, simply run docker-compose up. This will not reflect the changes you made in you local project setup.

Manually

This tool has two different components: Frontend & Backend. You will have to set up both for the tool to be fully functional, and the instructions do so are here:

Additional links

License

This project is licensed under the MIT LICENSE