/RescuWave

An emergency coordination app enabling users to report incidents with their locations and relevant emergency types. Agencies receive real-time alerts tailored to their expertise, supported by a live map that visualizes ongoing operations and facilitates seamless communication between users and agencies, as well as inter-agency collaboration.

Primary LanguageKotlin

RescuWave - An Emergency Response Coordination App

RescuWave is an innovative app engineered to streamline and enhance the coordination of emergency responses. By connecting people with the right rescue agencies during emergency situations, it ensures a swift and coordinated rescue effort. Users can report emergencies with a few taps, while RescuWave automatically shares location and details with relevant agencies, and notifies their emergency contacts. Users can track the arrival of rescue agencies on a live map, communicate directly, and experience the peace of mind that comes with a community prioritizing their safety.

Features

  • Two-level System: Both individual users and rescue agencies are integrated within a single platform
  • Authentication: Secure authentication via three methods: Email/password, Phone-OTP, and Google sign-in
  • Report Emergencies: Users can report emergencies by specifying the type of emergency and their location
  • Nearby Rescue Agencies: Fetch nearby agencies using the Google Places API for quick assistance
  • Rescue Agency Notifications: Rescue agencies receive tailored notifications based on their specialization
  • Emergency Contacts Notification: SMS alerts are sent to users' emergency contacts, which is especially helpful when there is no internet connection.
  • User Map View: Users can see the location of rescue agencies that have accepted their emergency
  • Agency Map View: Rescue agencies can view filtered emergencies based on their specialization
  • Communication: Users can directly contact any rescue agencies involved in their emergency, and rescue agencies can also contact users and other involved agencies.

Tech Stack

  • Development: Kotlin, XML
  • Firebase:
    • Authentication
    • Cloud Firestore
    • Cloud Storage
    • Cloud Messaging
  • MongoDB Realm
  • Google Places SDK
  • Google Maps SDK

Screenshots

Authentication User Screens Uploading Emergency Responding to Emergency

Build Requirements

Build Instructions

  1. Clone the repository:
git clone https://github.com/mNik033/RescuWave.git
  1. Add the following in gradle.properties:
android.defaults.buildfeatures.buildconfig=true
MY_REALM_APP_ID=YOUR_REALM_APP_ID
GOOGLE_MAPS_API_KEY=YOUR_MAPS_API_KEY
MY_GOOGLE_PLACES_API_KEY=YOUR_GOOGLE_PLACES_API_KEY
  1. Set up Firebase:

    • Create a Firebase project in the Firebase Console.
    • Add the app to your Firebase project.
    • Enable the required authentication methods, Cloud Firestore and Cloud Storage.
    • Add your SHA1 and SHA256 certificate fingerprints in Project Settings.
    • Download the google-services.json file and place it in the app directory.
  2. Build and run

Contributors