How shawaiz-project/trace-scope works
SpeedTest Pro is a browser-based network diagnostics product with a FastAPI backend and Supabase Edge Functions in the tree. The main user flow is to run a speed test, view measurements and a quality assessment, then review history or export/share results. The sampled frontend shows the test panel calling the test and scoring libraries; backend router internals and most UI integrations were not sampled, so those connections are left out.
Main entry points: SpeedTestPanel.tsx Test panel · Index.tsx Test dashboard · main.py FastAPI app · App.tsx App routes
Components 27
Web experience
- App routes
src/App.tsx - Test dashboard
src/pages/Index.tsx - Device details
src/lib/deviceInfo.ts
Network testing
- Test panel
src/components/SpeedTestPanel.tsx - Test engine
src/lib/speedtest.ts - Server regions
src/lib/serverRegions.ts
Results and reports
- Test history
src/lib/speedHistory.ts - Quality scoring
src/lib/networkScoring.ts - Score display
src/components/NetworkQualityScore.tsx - Report download
src/components/ReportDownload.tsx - Report generator
src/lib/reportGenerator.ts - Share results
src/components/ShareReportLink.tsx - Shared report page
src/pages/SharedReport.tsx
API services
- FastAPI app
backend/main.py - Speed test routes
backend/routers/speedtest.py - Network routes
backend/routers/network.py - Share routes
backend/routers/share.py - IP lookup service
backend/services/ip_service.py - Quality scoring
backend/services/scoring_service.py - Card generation
backend/services/card_generator.py - Share data store
backend/services/share_db.py - IP info function
supabase/functions/ip-info/index.ts - Download test function
supabase/functions/speedtest-download/index.ts - Ping test function
supabase/functions/speedtest-ping/index.ts - Upload test function
supabase/functions/speedtest-upload/index.ts
Other components
- User
- IP geolocation provider
Connections 16
- User → App routes: opens app
- App routes → Test dashboard: routes to
- Test dashboard → Device details: gets device details
- Test dashboard → Test panel: renders test
- Test panel → Test engine: runs test
- Test panel → Test history: saves result
- Test panel → Quality scoring: calculates score
- Test panel → Score display: displays score
- Test dashboard → Report download: offers download
- Report download → Report generator: generates report
- Report generator → Quality scoring: calculates score
- App routes → Shared report page: routes shared report
- FastAPI app → Speed test routes: includes routes
- FastAPI app → Network routes: includes routes
- FastAPI app → Share routes: includes routes
- IP info function → IP geolocation provider: looks up address