A non-linear, graph-based approach to exploring the depths of Wikipedia
Index
└── App
├── Wikigraph
| ├── Canvas
| | └── Graph visualization
| | └── Expand visualization button
| | └── *Mobile context menu button*
| | └── Stabilize button
| | └── Center button
| | └── *Context menu*
├── Sidebar
| └── Home tab
| └── About tab
| └── User manual tab
└── Theme toggler
- Add how-to-use tab on sidebar
- Add info tab on sidebar
- Move "Update graph with selection" option to context menu
- Add ability to full-screen the visualization
- Add dark mode
- Recenter visualization when graph rerenders
- Fix formatting on mobile
- Add alternative to context menu on mobile
- Add link to Wikipedia page on the summaries
- Allow user to double click node to expand the links
- Allow user to add nodes to existing graph
- Delete all unconnected nodes
- Notify user when article is not found in the database
- Add keep selected nodes to context menu
- Add expand selected nodes to context menu
- Add "find path between two nodes" option
- Indicate when there are no nodes in the expansion when the user double-clicks a node
- Make the buttons reusable instead of having one component for each button type
- Make alert for no additional nodes more accurate—alert when there are no new nodes in the graph as a result of the query (currently breaks on
Find path between nodes
) - Maybe change the color of in-going and out-going links when selecting a node? Have to think about case where two connected nodes are selected; maybe only allows this when one node is selected
- Refactor component/file structure
- Use styled components instead of css file for one-offs
- Figure out how to test deploy build to catch errors before Netlify attempts to deploy
- holy crap the performance for expanding a node is awful
- Make the physics not so wonky and prone to flying off the screen; something like Neo4j Browser
- Add filters for nodes: keep only incoming nodes, keep only outgoing nodes, keep nodes above a certain size, keep links above a certain size, keep top
n
nodes, etc. - Allow user to click and drag a node and make it stick
- Implement cache for summaries and links
- Add something like Elastic Search to Wikipedia articles
- Allow user to save/export and load graphs
- Allow user to click and drag to select all nodes inside an area
- Make an excerpt of the summary (first sentence) appear on hovering over a node
- Aggregate more months of data
- Host the whole database on a server
- Explore possibility of using the whole Wikipedia data dump with groupings by properties instead of clickstream data
This project was bootstrapped with Create React App and deployed with Netlify. The visualization was created with neovis.js.