A Quiz App made using firebase. It is based on Unidirectional Data Flow (UDF) pattern and follows MVVM and Single-Activity Architecture.
- Login/Signup authentication using email-password.
- Email verification.
- Forgot password feature.
- User authentication in a clean architecture.
- Uses Firebase Coroutine extension.
- Attempt MCQs quiz and increase your score.
- Retry quiz if you didn't do well.
- Filter quiz according to month and year. (Note : Please choose month May, 2023 to get quiz because no quiz is published in other month in the firestore db with which it is connected)
Kotlin: As the programming language.
Firebase: Cloud Firestore: As the backend for fetching quizes.
Firebase Auth: For authenticating users.
Navigation Component: For navigating between destinations (fragments)
ViewModel: For cashing data and persists it through configuration changes.
Hilt: For dependency injection.
Kotlin Flow: For flow of data from data layer to UI layer.
Follows Unidirectional Data Flow (UDF) for the flow of data and Single Activity Architecture for UI.
Simply clone this repository and open it in android studio.
See Add Firebase to your Android project to setup
connect the project with your firebase. Alternatively delete app/google-services.json
and use
Android integrated Firebase Assistant for the setup
through Tools/Firebase/<Any_Feature>/Connect your app to Firebase
and connect it with your
existing firebase project or create a new one. To understand the structure of firestore, see the
model classes in data/model
package.