How ericksonathome/uts7 works
UTS7 is a Next.js user-tracking app. A visitor loads the page, which collects IP, browser/device, screen, system, and initial geolocation data, then posts it to the tracking API for email delivery. The page also starts live geolocation updates, displays coordinates, and posts each update for email delivery. The sampled source supports these collection, enrichment, dispatch, and notification paths; it does not show persistent storage.
Main entry points: userDataCollector.ts Data Collector · page.tsx Tracking Page · liveLocationService.ts Live Tracker · emailService.ts Email Service
Components 15
Browser Tracking
- Tracking Page
app/page.tsx - Data Collector
app/utils/collectors/userDataCollector.ts - Browser Data
app/utils/services/browserService.ts - IP Lookup
app/utils/services/ipService.ts - Location Service
app/utils/services/locationService.ts - Live Tracker
app/utils/services/liveLocationService.ts
Tracking API
- Track Endpoint
app/api/track/route.ts - Tracking Types
app/utils/types/index.ts
Email Notifications
- Email Service
app/utils/services/emailService.ts - Email Config
app/utils/config/email.ts
Other components
- Visitor
- Geolocation API
- IPify
- Nominatim
- Email Provider
Connections 15
- Visitor → Tracking Page: visits
- Tracking Page → Data Collector: collects via
- Data Collector → IP Lookup: gets IP
- Data Collector → Browser Data: gets device data
- Data Collector → Location Service: gets location
- Data Collector → Nominatim: enriches address
- IP Lookup → IPify: looks up IP
- Location Service → Geolocation API: requests position
- Tracking Page → Live Tracker: starts tracker
- Live Tracker → Geolocation API: watches position
- Live Tracker → Tracking Page: dispatches updates
- Tracking Page → Track Endpoint: posts visit and updates
- Track Endpoint → Email Service: sends tracking data
- Email Service → Email Config: reads settings
- Email Service → Email Provider: sends email