How danielsan-01/csinvtracker works
CS Inventory Tracker is a web app for tracking Counter-Strike skins and stickers, planning purchases, and composing saved loadouts. Users browse or refresh an inventory, inspect and manage its items, and can plan a goal or save a loadout; Steam sign-in connects an account to user-specific data. The frontend uses a .NET API backed by PostgreSQL, with external Steam and market-data integrations. The graph includes major README-adjacent product branches visible in the tree; some frontend-to-API wiring and unsampled service details are inferred only where supported by the named modules.
Main entry points: api.ts API client · ApplicationDbContext.cs PostgreSQL data · AuthController.cs Auth API · InventoryController.cs Inventory API
Components 25
Web experience
- Next.js app
frontend/app/page.tsx - User context
frontend/contexts/UserContext.tsx - API client
frontend/lib/api.ts - Inventory UI
frontend/app/components/item-grid/InventoryGridList.tsx - Catalog hooks
frontend/hooks/useSkinCatalog.ts
Identity and admin
- Steam auth routes
frontend/app/api/auth/steam/route.ts - Auth callback
frontend/app/api/auth/steam/callback/route.ts - Auth API
backend/Controllers/AuthController.cs - Token service
backend/Services/AuthService.cs - Admin console
frontend/app/admin/page.tsx - Admin API
backend/Controllers/AdminController.cs
Inventory and catalogs
- Inventory API
backend/Controllers/InventoryController.cs - Skin catalog API
backend/Controllers/SkinsController.cs - Sticker catalog API
backend/Controllers/StickersController.cs - Steam inventory import
backend/Services/SteamInventoryImportService.cs
Goals and loadouts
- Goal planner
frontend/app/goal/page.tsx - Goal storage
frontend/lib/goalStorage.ts - Loadout cooker
frontend/app/loadout-cooker/page.tsx - Goals API
backend/Controllers/GoalsController.cs - Loadouts API
backend/Controllers/LoadoutsController.cs
Persistence and integrations
- Market pricing
backend/Services/CsMarketApiService.cs - PostgreSQL data
backend/Data/ApplicationDbContext.cs
Other components
- Player
- Steam services
- Market providers
Connections 31
- Player → Next.js app: uses
- Next.js app → User context: reads session
- Inventory UI → API client: requests data
- Goal planner → Goal storage: loads and saves
- Goal storage → API client: fetches goals
- Loadout cooker → API client: requests loadouts
- Catalog hooks → API client: requests catalog
- Player → Steam auth routes: starts sign-in
- Steam auth routes → Steam services: redirects to OpenID
- Steam services → Auth callback: returns assertion
- Auth callback → Auth API: posts login
- Auth API → Token service: generates token
- Auth API → PostgreSQL data: reads and writes users
- Auth API → Steam services: verifies identity
- Admin console → API client: requests admin data
- API client → Admin API: calls API
- API client → Inventory API: calls API
- API client → Skin catalog API: calls API
- API client → Sticker catalog API: calls API
- API client → Goals API: calls API
- API client → Loadouts API: calls API
- Inventory API → PostgreSQL data: reads and writes items
- Inventory API → Steam inventory import: imports inventory
- Steam inventory import → Steam services: fetches inventory
- Skin catalog API → PostgreSQL data: reads and writes skins
- Sticker catalog API → PostgreSQL data: reads and writes stickers
- Inventory API → Market pricing: requests pricing
- Market pricing → Market providers: fetches prices
- Goals API → PostgreSQL data: reads and writes goals
- Loadouts API → PostgreSQL data: reads and writes loadouts
- Admin API → PostgreSQL data: reads and writes records