- 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)
-
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.
- Clone the repository
- Create firebase project and enabled to Sign-in providers by email and password
- 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
- users
- Import your google-services.json file into the android project
- 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
- * 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`