Skip to content

Keremturker/BeHero

Repository files navigation

BeHero

Be Hero

Latest android components are used to make this app

- MVVM Architecture
- Navigation Graph
- Single Activity Architecture
- ViewBinding
- Dagger Hilt
- Firestore
- Firebase Auth
- Google Maps API
- productFlavors
- Glide
- Coroutines
- Custom Views
- Base Class Structure (BaseActivity,BaseFragment,BaseAdapter)

How the app will work?

  • This app keeps a list of voluntary donors.

  • A Voluntary Donor has to make an account on our app with some general information like:

    • Name
    • birthDay
    • Blood Group
    • Location
    • Gender
    • Phone Number
  • On the other side, the one who needs blood, will create a request for blood unit with his blood group and location.

How to use

  1. Clone the repository
  2. Create firebase project and enabled to Sign-in providers by email and password
  3. Create an Firestore DB with the following collections
    • users
      • name - String
      • bloodGroup - String
      • phone - String
      • mail - String
      • mailVerified - Boolean
      • birthDay - String
      • createTime - Timestamp
      • gender - String
      • availableDonate - Boolean
      • updateTime - Timestamp
      • uuid - String
      • address
        • cityName - String
        • countryCode - String
        • countryName - String
        • description - String
        • latitude - Number
        • longitude - Number
        • subCityName - String
    • donations
      • uuid - String
      • patientName - String
      • hospitalName - String
      • description - String
      • phone - String
      • updateTime -Timestamp
      • createTime -Timestamp
      • enable - Boolean
      • bloodGroup - String
      • address
        • cityName - String
        • countryCode - String
        • countryName - String
        • description - String
        • latitude - Number
        • longitude - Number
        • subCityName - String
  4. Import your google-services.json file into the android project
  5. Get you own google map API key. See the quick guide to getting an API key: https://developers.google.com/maps/documentation/android-api/signup
  6. * Open the `gradle.properties` file and paste your API key into the value of the `GOOGLE_MAPS_API_KEY` property, like this
    `google_maps_key=PASTE-YOUR-API-KEY-HERE`
    

Screenshots: