Android app for team-based location sharing during events.
- ✅ QR code-based setup for quick configuration
- ✅ Background location tracking with foreground service
- ✅ GraphQL API integration for location data and event images
- ✅ Base64 image loading from database (no external URLs required)
- ✅ Multilingual support (English UK, Finnish)
- ✅ Timezone-aware location timestamps
- ✅ Automatic configuration expiration
- ✅ Dark/Light mode support
- ✅ Material Design 3 UI
The app uses a GraphQL API for both location updates and event data:
- Location Tracking: Uploads GPS coordinates via
createLocationUpdatemutation - Event Images: Fetches event images via
eventByNamequery on setup - Image Storage: Images stored as base64 data in memory (no network requests during runtime)
- Setup: User scans QR code with team name, event name, API URL
- Image Fetch: App queries GraphQL API to fetch event images (base64 data)
- Storage: Images decoded and stored in SharedPreferences
- Display: Images rendered from memory using
Image.memory() - Tracking: Background service uploads location to API
-
Set up PostgreSQL database (see location_tracker_api)
-
Generate QR code with configuration:
{
"teamName": "Team Alpha",
"event": "Event name",
"apiUrl": "https://your-project.vercel.app/api",
"imageUrl": "data:image/png;base64,..." (optional, for backward compatibility),
"expirationDate": "2027-03-01",
"timezone": "Europe/Helsinki"
}Note: imageUrl in QR code is optional. Images are fetched from the GraphQL API automatically.
- Hide/obscure API URL?
- testing with OP8T (Android 14)
- battery consumption