How videre-project/tracker works
Videre Tracker is a Windows-hosted web application for tracking MTGO gameplay and collections. The user-facing workflow runs from the embedded client through the Web API to live MTGO data and persisted history, then back to pages for match analysis, replay, collection, decks, and trades. The README documents real-time capture, statistics, replay, and performance insights; the tree supports additional collection, event, deck, and trade capabilities. Sampled excerpts are partial, so uncertain controller-to-service wiring is omitted.
Main entry points: WebAPIService.cs Web API · MTGO MTGO services · router.tsx Page router · main.tsx React client
Components 26
Host and API
- Application host
src/server/src/Program.cs - Web API
src/server/src/Services/WebAPIService.cs - Embedded UI host
src/server/src/WebView/HostForm.cs - Client endpoints
src/server/src/Controllers/ClientController.cs - Collection endpoints
src/server/src/Controllers/CollectionController.cs - Deck endpoints
src/server/src/Controllers/DecksController.cs - Game endpoints
src/server/src/Controllers/GamesController.cs - Event endpoints
src/server/src/Controllers/EventsController.cs - Trade endpoints
src/server/src/Controllers/TradesController.cs
MTGO capture
- MTGO services
src/server/src/Services/MTGO - Game event capture
src/server/src/Services/MTGO/Events/EventTracker.cs - Collection capture
src/server/src/Services/MTGO/CollectionAPIService.cs - Trade capture
src/server/src/Services/MTGO/TradeAPIService.cs
Tracker data
- Event history store
src/server/src/Database/EventContext.cs - Collection store
src/server/src/Database/CollectionContext.cs - Trade history store
src/server/src/Database/TradeContext.cs
Web client
- React client
src/client/src/main.tsx - Page router
src/client/src/router.tsx - Collection and decks
src/client/src/pages/collection.tsx - Matches and replay
src/client/src/pages/game-replay.tsx - Events and trades
src/client/src/pages/events.tsx - Client state
src/client/src/components/client-state-provider.tsx
External services
- Videre API
- Videre integration
src/server/src/Services/Videre/VidereAPIClient.cs
Other components
- Player
- MTGO client
Connections 30
- Player → React client: uses
- Application host → Web API: starts
- Application host → Embedded UI host: hosts
- Embedded UI host → React client: displays
- React client → Page router: renders
- Page router → Collection and decks: routes
- Page router → Matches and replay: routes
- Page router → Events and trades: routes
- React client → Client state: provides state
- Collection and decks → Collection endpoints: requests data
- Collection and decks → Deck endpoints: requests data
- Matches and replay → Game endpoints: requests data
- Events and trades → Event endpoints: requests data
- Events and trades → Trade endpoints: requests data
- Client state → Client endpoints: requests state
- Web API → Client endpoints: dispatches
- Web API → Collection endpoints: dispatches
- Web API → Deck endpoints: dispatches
- Web API → Game endpoints: dispatches
- Web API → Event endpoints: dispatches
- Web API → Trade endpoints: dispatches
- MTGO client → MTGO services: supplies live data
- MTGO services → Game event capture: tracks gameplay
- MTGO services → Collection capture: tracks collection
- MTGO services → Trade capture: tracks trades
- Game event capture → Event history store: writes history
- Collection capture → Collection store: writes snapshots
- Trade capture → Trade history store: writes history
- Collection endpoints → Videre integration: fetches products and prices
- Videre integration → Videre API: requests data