How pshkarsngh/wikitech_project works
This is a Wikipedia relationship-analysis application: users search for an article, select it, and request an analysis that identifies linked articles, missing people or places, and one-way links; results can also be explored as a connection map. The frontend exposes separate search, analysis, entity, missing-link, one-way-link, and map views. The FastAPI backend gathers MediaWiki data, classifies entities, computes graph results, and optionally caches analyses. Source excerpts are partial, so uncertain internal wiring is omitted.
Main entry points: App.jsx App routes · analysis.py Analysis routes · mediawiki.py MediaWiki client · client.js API client
Components 22
Web application
- App routes
frontend/src/App.jsx - Article search
frontend/src/components/SearchBar.jsx - Search view
frontend/src/pages/SearchPage.jsx - Analysis view
frontend/src/pages/AnalysisPage.jsx - Result views
frontend/src/pages/EntitiesPage.jsx - Missing links view
frontend/src/pages/MissingConnectionsPage.jsx - One-way links view
frontend/src/pages/OneWayConnectionsPage.jsx - Connection map view
frontend/src/pages/ConnectionMapPage.jsx - Analysis state
frontend/src/context/AnalysisContext.jsx - API client
frontend/src/api/client.js
API and routes
- FastAPI app
backend/app/main.py - Article routes
backend/app/routers/articles.py - Analysis routes
backend/app/routers/analysis.py
Analysis services
- Graph analysis
backend/app/services/analysis.py - Entity classifier
backend/app/services/classifier.py - Request budgets
backend/app/services/budget.py
Data and integrations
- MediaWiki client
backend/app/services/mediawiki.py - Analysis cache
backend/app/repository.py - Database
backend/app/models.py
Other components
- Visitor
- Wikipedia API
- Wikidata API
Connections 25
- Visitor → App routes: opens
- App routes → Search view: routes to
- App routes → Analysis view: routes to
- App routes → Result views: routes to
- App routes → Missing links view: routes to
- App routes → One-way links view: routes to
- App routes → Connection map view: routes to
- Search view → Article search: renders
- Article search → API client: searches articles
- Search view → API client: finds article
- Analysis view → Analysis state: reads analysis
- Analysis state → API client: requests analysis
- API client → FastAPI app: sends API requests
- FastAPI app → Article routes: dispatches article routes
- FastAPI app → Analysis routes: dispatches analysis routes
- Article routes → MediaWiki client: requests article data
- Analysis routes → Graph analysis: runs graph analysis
- Analysis routes → Entity classifier: classifies missing entities
- Analysis routes → Analysis cache: reads and stores results
- Analysis routes → Request budgets: applies request budget
- Graph analysis → MediaWiki client: fetches links and pages
- Entity classifier → MediaWiki client: gets descriptions
- MediaWiki client → Wikipedia API: queries
- MediaWiki client → Wikidata API: searches descriptions
- Analysis cache → Database: reads and writes