Skip to content

Repository files navigation

Chetak (Smart Travel Alarm)

Chetak is a location-based smart travel alarm app built with React Native. It tracks your location and alerts you when you reach a specific radius of your destination, making sure you never miss your stop while commuting or traveling.

Features

  • Location-Based Alarms: Set an alarm based on a geographic location and a radius. The app tracks your location and triggers an alarm when you enter the specified area.
  • Background Tracking: Continuous location tracking in the background. The app keeps monitoring your location even when it is minimized or your screen is locked.
  • Voice Alerts: Text-To-Speech (TTS) announcements let you know when you are arriving.
  • Map Integration: Interactive maps using Leaflet to view your location, destination, and the route.
  • Location Search: Search for destinations utilizing OpenStreetMap's Nominatim geocoding service.
  • Saved Places: Save frequently visited locations for quick access.
  • Multiple Journeys: Track multiple active journeys simultaneously.

Download APK

Screenshot

chetak-ss

Tech Stack

  • Framework: React Native (0.86.0)
  • Language: TypeScript
  • State Management: Context API
  • Navigation: React Navigation (Native Stack)
  • Maps: react-native-webview (rendering Leaflet)
  • Geolocation: react-native-geolocation-service
  • Background Tasks: react-native-background-actions
  • Local Storage: @react-native-async-storage/async-storage
  • Notifications: @notifee/react-native
  • Audio & TTS: react-native-sound, react-native-tts

Prerequisites

  • Node.js (>= 22.11.0)
  • React Native CLI
  • Android Studio / Xcode for running on emulators or real devices.

Installation

  1. Clone the repository (if you haven't already):

    git clone <repository_url>
    cd Chetak
  2. Install dependencies:

    npm install
    # or
    yarn install
  3. Install iOS Pods (for macOS users targeting iOS):

    cd ios && pod install && cd ..

Running the App

Android

npm run android
# or
yarn android

iOS

npm run ios
# or
yarn ios

Permissions

For Chetak to function correctly, it requires the following permissions:

  • Location Permission (Foreground & Background): To track your journey and trigger alarms when you reach the destination.
  • Notification Permission: To display alerts and notifications when an alarm goes off.

Project Structure

  • src/screens: Contains the UI screens (HomeScreen, JourneyScreen, SavedPlacesScreen, SettingsScreen).
  • src/components: Reusable UI components including the LeafletMap and OSMAutocomplete.
  • src/services: Core background services (LocationService, AudioService, NominatimService, RoutingService).
  • src/store: Application state management (AppContext).
  • src/utils: Helper functions and distance calculations (e.g., geolib).
  • src/navigation: React Navigation setup.

About

Chetak is a smart travel alarm app that tracks your journey in real time and alerts you before you reach your destination, even when traveling offline

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages