User:AutumnFeather/Wikinside/tech
Wikinside
Wikinside is a tool for tracking the impact of events on Wikimedia projects. It is currently composed of separate back-end and front-end components that communicate with each other via HTTP APIs.
Setup
Want to run Wikinside locally or on your own server? You will need the following:
- Docker + Docker Compose
- a package manager and executer (examples here use npm/npx)
First, you will want to set up your environment by copying the env.example file in the root folder into .env:
| Field | Purpose | Value (if not any) |
|---|---|---|
| DATABASE_USERNAME | Username for the underlying database | |
| DATABASE_PASSWORD | Password for the underlying database | |
| DATABSE_ROOT_PASSWORD | Database's root password | |
| METAWIKI_KEY | Metawiki OAuth consumer key | |
| METAWIKI_SECRET | Metawiki OAuth consumer secret | |
| BACKEND_URL | URL the back-end section will be accessible from | |
| DEFAULT_LOCALE | Default language of the front-end client | en-US, cs-CZ |
| TEMP_SUB | [TEMPORARY] global IDs of wiki users that are allowed access to the tool | numbers separated by commas |
For the METAWIKI_KEY and METAWIKI_SECRET values, you will need to register your project here.
After that, you can build and start the backend with the database by simply running docker-compose up --build and letting Docker take care of the rest for you :). The API will be available at port 8080 under the /api path. Please do note that restarting and rebuilding via docker-compose does not clear the database by default.
To start the frontend client in development mode, run npx quasar dev (or another package executer of choice) while inside the /quasar folder. The frontend will query [BACKEND_URL]/api.