The Capacity Exchange (CapX) is a project focusing on Global Approaches to Local Skills Development within and for the Wikimedia Movement. It establishes a sociotechnical platform for peer-to-peer connection and knowledge sharing to sustainably enable community-based capacity-building.
The aim is to create a methodology and service, which will serve as the structure for initiating mutual skills development globally, regionally, and locally. An interactive, online platform, backed by a database, will enable wikimedians to publish information about themselves, their affiliates, and informal groups. They will also be able to conduct searches, access information and to connect with each other in a way that reflects the Wiki's spirit and the Wikimedia Movement Strategy.
The Capacity Exchange (CapX) is available in Toolforge at https://capx.toolforge.org
Before you begin, ensure you have met the following requirements:
- Python 3
-
Clone the repository:
git clone https://github.com/WikiMovimentoBrasil/capx-backend.git
-
Navigate to the project directory:
cd capx-backend
-
Create a virtual environment (optional but recommended):
python -m venv venv
-
Activate the virtual environment:
- On Windows:
venv\Scripts\activate.bat
- On macOS and Linux:
source venv/bin/activate
-
Install project dependencies:
pip install -r requirements.txt
-
Create the database and apply migrations:
python manage.py migrate
This will create a SQLite file in your source directory.
-
Create a superuser to have full control over the database:
python manage.py createsuperuser
-
Install initial data:
python manage.py loaddata fixtures/initial_data.json python manage.py loaddata fixtures/orgs.json
-
Create a
.env
with the following envvarsSOCIAL_AUTH_MEDIAWIKI_KEY="<YOUR MEDIAWIKI OAUTH KEY>" SOCIAL_AUTH_MEDIAWIKI_SECRET="<YOUR MEDIAWIKI OAUTH SECRET>" SECRET_KEY="<CREATE YOUR OWN RANDOM KEY>"
To create a new OAuth app and key, go to https://meta.wikimedia.org/wiki/Special:OAuthConsumerRegistration . For local development, you can enable "This consumer is for use only by " and "User identify verification only".
-
Start the development server:
python manage.py runserver
You should now be able to access the project at http://127.0.0.1:8000/ in your web browser.
Contributions are welcome! To contribute to the Capacity Exchange, follow these steps:
- Fork the repository
- Create a new branch: git checkout -b feature/your-feature
- Make your changes and commit them: git commit -m 'Add some feature'
- Push to the branch: git push origin feature/your-feature
- Create a pull request on GitHub
This project is licensed under the GNU AGPLv3 - see the LICENSE file for details.