https://github.com/leocodeio/whereareyou
https://github.com/leocodeio/whereareyou
Last synced: 9 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/leocodeio/whereareyou
- Owner: leocodeio
- Created: 2025-09-30T04:07:08.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2025-09-30T06:31:11.000Z (10 months ago)
- Last Synced: 2025-09-30T08:33:24.380Z (10 months ago)
- Language: TypeScript
- Size: 675 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Agents: agents.md
Awesome Lists containing this project
README
# Safety Tracker App 📍🛡️
A React Native Expo app that tracks your location periodically and sends SOS alerts via WhatsApp if you haven't used the app for a configurable period.
## Features
- **Location Tracking**: Periodically tracks GPS coordinates and stores them locally
- **SOS Alerts**: Automatically sends WhatsApp messages to emergency contacts if app inactivity exceeds threshold
- **Configurable Settings**: Customize tracking interval and SOS trigger time
- **Local Storage**: Uses SQLite for secure local data storage
- **Background Operation**: Runs location tracking in the background (with OS limitations)
## Architecture
The app follows a modular agent-based architecture:
- **LocationTrackerAgent**: Handles GPS tracking and storage
- **AppUsageAgent**: Monitors app lifecycle events
- **SOSTriggerAgent**: Checks inactivity and triggers SOS
- **SettingsAgent**: Manages app configuration
## Tech Stack
- **Framework**: React Native with Expo
- **Language**: TypeScript
- **Navigation**: Expo Router
- **Database**: Expo SQLite
- **Location**: Expo Location
- **UI**: React Native Paper
- **Background Tasks**: Expo Background Fetch
## Getting Started
1. **Install dependencies**
```bash
npm install
```
2. **Start the development server**
```bash
npm start
```
3. **Run on device/emulator**
- For Android: `npm run android`
- For iOS: `npm run ios`
- For web: `npm run web`
## Configuration
Settings can be configured through the app:
- **Location Interval**: How often to track location (minutes)
- **SOS Threshold**: Hours of inactivity before triggering SOS
- **Emergency Contacts**: Phone numbers for SOS messages
## Permissions Required
- Location access (foreground and background)
- Storage access for local database
## Limitations
- Background location tracking is limited by mobile OS restrictions
- WhatsApp deep links require WhatsApp to be installed
- App must be kept alive for continuous monitoring
## Development
- Run linting: `npm run lint`
- Reset project: `npm run reset-project`
## License
This project is for educational and safety purposes.