Wikistats is the public statistics website of the Wikimedia Foundation (WMF). Its main purpose is to add context and motivate our editor community by providing a set of metrics through which users can see the impact of their contributions in the projects they are a part of.
In Wikistats 2.0 we are not only updating the website interface but we are also providing new access to all our edit data in an analytics-friendly form. The transition of relying on static, precomputed datasets generated periodically into APIs querying our data lake improves drastically (and fundamentally changes) the way, time and resources it takes to calculate edit metrics both for the WMF and the community.
Local install for development
Cloning the project
The minimum requirements to install the Wikistats UI are Node.js 8+, npm 6+, and git. The project is hosted in a Phabricator repository
Wikistats uses many components from the Fomantic UI library. This should build itself with gulp when it's first loaded. If there are any changes to semantic/src/site/globals/site.variables, fomantic css will need to be rebuilt:
Generating the bundle
npm run dev
This command will set up a watcher that will rebuild the bundle each time a project file changes. The production environment won't minify the bundle so that code is readable within the browser developer tools. This will generate the static site in ./dist-dev within your wikistats repository directory. In order to see the built site you need a simple http server such as python's SimpleHTTPServer
npm run server
The application should be now working in localhost:5000
Tests are located in the test directory. We use Jest as our test runner. Running the following: