Git Product home page Git Product logo

analytics-wikistats2's Introduction

Wikistats 2.0

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

git clone https://gerrit.wikimedia.org/r/analytics/wikistats2
npm install

Third-party UI elements

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:

cd node_modules/fomantic-ui
./node_modules/gulp/bin/gulp.js build-css

Generating the bundle

Last, you need to generate the Javascript bundle that contains the Wikistats project, its dependencies and the stylesheets. Assuming you want a development environment, you should run:

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

Tests are located in the test directory. We use Jest as our test runner. Running the following:

npm test

Additionally, there are smoke tests to be performed with each significant change to the codebase, which are described in Analytics/Wikistats 2/Smoke testing.

Bug report and Feature request

Please fill this Phabricator template to report a bug or request a new feature.

Contributing and Deployment

Please read through our contributing guidelines. Included are directions for code reviews, and notes on deployment.

Built With

  • npm - Version 6+
  • Vue.js — The web framework used
  • d3 — Version 4+ for visualizations
  • CrossFilter — For exploring large multivariate datasets in the browser

Community

Get updates on Wikistats 2.0 development and chat with the project maintainers and community members.

  • Chat with community members on IRC server, in the #wikimedia-analytics channel.

Copyright

All data, charts, and other content is available under the Creative Commons CC0 dedication.

analytics-wikistats2's People

Contributors

aklapper avatar amire80 avatar aquwikimedia avatar cristiancantoro avatar fredster33 avatar hashar avatar iiirxs avatar jeblad avatar jobar avatar ladsgroup avatar marcelrf avatar mcornacc avatar milimetric avatar nuria avatar ottomata avatar reedy avatar sahil505 avatar translatewiki avatar volker-e avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.