Git Product home page Git Product logo

wikijumps's Introduction

Screenshot 2022-12-06 at 10 57 46 AM

Live demo

If you like this project, consider sponsoring it and/or donating on my Ko-fi page.

What it is

For any Wikipedia article, Wikijumps shows a 3D graph of that article’s most popular (frequently clicked) links to other articles, and some of their highly-related nearby neighbors.

More specifically, two articles being linked means that Wikipedia users frequently travel between them, in whichever direction(s) the little blue particles are going. Data for this comes from WikiNav.

You can specify an article, have a random(ish) article picked, and view your recent article-viewing history.

How to use it

  • Pinch or scroll to zoom
  • Drag to rotate
  • Click center article to visit it on Wikipedia
  • Click a non-center article to make it the center article

How to run it locally

  • Pull the code
  • cd into its folder
  • Run npm install
  • Run npm start

Ideas for additions

UI + UX

  • Make recent article history interactive, allow branching
  • Make labels “move out of the way” of links better, e.g. update position of labels on each animation frame in way that geometrically minimizes intersections with link paths
  • Represent strength of article connections with directional particles (e.g. width, speed)
  • Let user specify how many top connections from central article should be shown at a time
  • Links touch one side of node if sources, other side if targets
  • Menu CSS animations

General

  • Add ability to save browsing history long-term
  • Add additional game difficulties or modes, e.g. players have to find path from article A to article B
  • Add real-time functionality, e.g. user chat, collaboration
  • Accessibility & internationalization
  • Expose an API/npm library

Data Science

  • Automatic pathfinding from article A to B based on semantic similarity between articles

Acknowledgements

Huge thanks to:

  • Wikipedia
  • Wikinav
  • React
  • d3
  • Three
  • @vasturiano (react-force-graph, d3-force-3d, three-spritetext)
  • wtf_wikipedia
  • axios
  • luxon
  • async-retry
  • react-select
  • react-icons

wikijumps's People

Contributors

tylerb1 avatar

Stargazers

Leroy van Logchem avatar  avatar Steven Syp avatar

Watchers

 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.