Skip to content

A full-stack mobile application with Flutter and Dart that alerts the user upon reaching their destination while travelling in Public Transport. (Forked from https://github.com/thisisselva18/WakeRide)

License

Notifications You must be signed in to change notification settings

acmpesuecc/WakeRide

Repository files navigation

WakeRide

WakeRide is a mobile application that functions as a location-aware alarm for commuters, allowing you to set a destination and receive an audible alert as you approach it. The app is perfect for those who tend to doze off during long journeys on buses, metros, or cabs :p

image Screenshot 2025-10-05 032409

Key Features

  • Location-Based Alarms: Set your destination on the map, and the app will track your location to alert you when you are nearby.
  • Live Location Tracking: OpenStreetMap to provide real-time location tracking on an interactive map.
  • Customizable Ringtones: Choose from your device's native ringtones to personalise your arrival alert. This is handled through a native Android method channel.
  • Multiple Transport Modes: The user interface is designed to accommodate different modes of transport, such as Bus/Metro and Cab/Auto Rickshaw.

Technologies Used

  • Framework: Flutter
  • Language: Dart
  • Mapping:
    • flutter_map for OpenStreetMap integration.
    • flutter_map_location_marker for displaying the user's location.
  • Location Services: location package for tracking GPS data.
  • UI & Animations: lottie and animate_do for animations.
  • Native Integration: A custom MethodChannel in MainActivity.kt to access and play Android system ringtones.

Getting Started

To get a local copy up and running, follow these simple steps.

Prerequisites

  • Flutter SDK: Installation Guide
  • An IDE like Android Studio or VS Code with Flutter plugins.
  • A connected device or emulator.

Installation

  1. Clone the repository:

    git clone https://github.com/thisisselva18/WakeRide.git
  2. Navigate to the project directory:

    cd WakeRide
  3. Install dependencies:

    flutter pub get
  4. Run the application:

    flutter run

    Note: The application requires location permissions to function correctly. Please grant them when prompted.

Project Structure

The project is structured to separate concerns, making it easier to navigate and maintain.

  • lib/main.dart: The entry point for the Flutter application.
  • lib/pages/: Contains all the main screens (widgets) of the app.
    • home.dart: The main landing page with transport mode selection.
    • openstreetmap.dart: The screen that displays the map, user location, and handles location tracking.
    • bus_metro.dart & cab_auto.dart: UI pages for specific transport modes.
    • ringtones.dart: The page for listing and selecting system ringtones.
  • android/app/src/main/kotlin/com/example/bus_app/MainActivity.kt: Native Android code responsible for fetching, playing, and stopping system ringtones via a method channel.
  • assets/: Includes the Lottie JSON animation (Bell_anim.json) and custom fonts (Gilroy).
  • pubspec.yaml: Defines project dependencies, assets, and custom fonts.

Contact / Community Info

Communication to be done via GitHub PRs and messages only.

About

A full-stack mobile application with Flutter and Dart that alerts the user upon reaching their destination while travelling in Public Transport. (Forked from https://github.com/thisisselva18/WakeRide)

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published