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)
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.
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).
- First, clone the repo
git clone https://github.com/wikimedia/WikiContrib.git
- Run
cd WikiContrib
- To install docker-compose, run
pip install docker-compose
- Set up the environment file: Copy contents of
backend/WikiContrib/WikiContrib/.env.example
to a new filebackend/WikiContrib/WikiContrib/.env
. Update it! Most likely you will be making changes only toDB_NAME
,DB_USER
,DB_PASSWORD
andPHAB_KEY
variables. - To start the front-end as well as back-end server, run
docker-compose up --build
. - Frontend running at
localhost:3000
and backend running atlocalhost:8000
- Use the
--build
flag only when running docker-compose for the first time. For repeated use, simply rundocker-compose up
. This will not reflect the changes you made in you local project setup.
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:
- API documentation: https://documenter.getpostman.com/view/12264092/T1LFmpTP
- Full documentation on using and contributing to the tool: https://wikicontrib.readthedocs.io/
- Steps for hosting are in
DEPLOYING.md
- For additional questions, come chat with the maintainers on Wikimedia Zulip: https://wikimedia.zulipchat.com/#narrow/stream/220258-gsoc20-outreachy20/topic/WikiContrib
This project is licensed under the MIT LICENSE