diff --git a/README.md b/README.md index baa21b7..234e223 100644 --- a/README.md +++ b/README.md @@ -1,45 +1,72 @@ # Wikinewsie Wikinewsie is a web tool that ranks the Wikipedia articles based on editing activity, in order to identify actively discussed topics. ## History Wikinewsie was inspired by [Wikinews Pulse](https://commons.wikimedia.org/wiki/File:Wikinews_Pulse_Media_Party_NYC_2026.pdf), a hackathon -prototype from Media Party NYC in May 2026, hosted -by [Wikimedia NYC](https://nyc.wikimedia.org). +prototype from Media Party NYC in May 2026, hosted by [Wikimedia NYC](https://nyc.wikimedia.org). Instead of Wikinews Pulse's machine learning scored -workflow ([wikinews-bot](https://github.com/AreebaFatimaa/wikinews-bot)), -Wikinewsie approached it by ranking current event articles by human editing activities. +workflow ([wikinews-bot](https://github.com/AreebaFatimaa/wikinews-bot)), Wikinewsie approached it by ranking current +event articles by human editing activities. + +## Implementation + +### Language + +Wikinewsie is a single Node.js process, uses an Express + TypeScript backend to serve a JSON API, and a Vue 3 frontend +for a [Wikimedia Codex](https://doc.wikimedia.org/codex/latest/), bundled with Vite. + +### Server + +Wikinewsie is hosted on [Kubernetes](https://k8s-status.toolforge.org/namespaces/tool-wikinewsie/) pods +at [Wikimedia Toolforge](https://toolforge.org/), and uses +the [MediaWiki API](https://www.mediawiki.org/wiki/API:Main_page) to fetch data from Wikipedia. + +### Principle + +Edit counts and Wikidata QIDs are read live from Wikimedia's +public [replica databases](https://wikitech.wikimedia.org/wiki/Help:Wiki_Replicas#Databases). + +User-generated content, e.g., headlines or hero images, will be stored in the tool's own database, keyed by Wikidata +QIDs. + +Article summaries, images, and pageview counts are fetched from the Wikipedia REST API and Pageviews API. + +[PetScan](https://petscan.wmcloud.org/) is used to restrict results to articles in this year's event categories. + +The login feature uses [OAuth](https://www.mediawiki.org/wiki/OAuth), which +targets [meta.wikimedia.org](https://meta.wikimedia.org). ## Developments ### Install ```shell git clone https://gitlab.wikimedia.org/toolforge-repos/wikinewsie.git cd wikinewsie npm install ``` ### Run ```shell npm run dev # localhost:5173 npm run dev:server # localhost:8000 ``` ### Deploy ```shell export TOOLFORGE_USER=your-toolforge-username ./deploy.sh ``` ## Credits - [AreebaFatimaa](https://github.com/AreebaFatimaa) — Wikinews Pulse concept - [Habst](https://gitlab.wikimedia.org/habs) — Wikinewsie creator and primary contributor - [ZhaoFJx](https://gitlab.wikimedia.org/ZhaoFJx) — Wikinewsie contributor