Skip to content

SH659/WikiAnalyzer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Our task is to build an integration and processing system for Wikipedia / Wikimedia.

Our task is to add integration with the Wiki Recent Change API (wikimedia endpoint link) (alternatively - WikiMedia Event Stream API).

As a part of that task, we should design an API that let:

  1. Get all Recent Changes as a real-time stream
  2. Track in real-time the activity of a particular user or a set of users (this assumes we shall create a user if we have not observed any events from them)
  3. Retrieve a statistic of a particular user which include:
  • Information about user contribution as a series of points over time. (Wikipedia User Contribution can be gathered as X Y data points (where X is time and Y is a total number of contributions at that point in time. As an example of such may be taken the following graphic of a user contribution for a Github project
  • Note, the API should allow one to specify the time granularity in which the series should be returned
  • Topics to which user has contributed most
  • Type of contribution (typos editing | content addition). The type of contribution should be exposed as absolute numbers so one can guess whether the user helps with adding new facts or mostly with copyediting.
  1. Retrieve most active user during the (YEAR|MONTH|DAY)
  2. Retrieve the top 10 topics which have the most number of typo editings
  3. Optional: Retrieve the word in which users do mistake most of the time

Acceptance Criteria

  1. The project is implemented used functional reactive programming approach
  2. Design Project Architecture and present it. Explain the reasons why the specific approach was selected.
  3. Explain data flow on the sequence diagram
  4. Implement core logic and makes sure that it meets quality criteria (test coverage, manual verification)
  5. Explain the reasons, why a specific implementation approach was selected

Run tests:

docker-compose exec backend ./test.sh

Test coverage

python -m pytest --cov

Interesting links

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published