CREATED BY - JACOB HOLTH
QUIz aplication
Quiz
This application was used for me to learn the basics of Android Studios and Kotlin development.
About
An overall description of the application is that the user receives questions from a chosen category, such as History, Science, Mathematics, etc. The user can earn points during a round by answering the questions within the given time limit. The faster the answers are given, the better the score. Scores and times are saved, and the user can view various statistics on the homepage/statistics page. The scores are also aggregated into a total score for the user.








Technical Structure
The application will be structured according to the MVVM pattern to facilitate easier future modifications. The application will use Firebase, Firestore, and Firebase Storage as cloud-based services for storing and managing data. Firebase will be used as a platform to manage user identities, authentications, and synchronization. Firestore will be utilized to store data as a NoSQL database. Firebase Storage will be used for storing multimedia files. The application will include user management, allowing each user to create a personal profile to customize their experience. Users will be able to register by providing necessary information such as email, password, and optionally a profile picture. It will also be possible to log in with an existing account.
Libraries/API
Firebase
Firebase will primarily be used for authentication and data storage. This includes using Firestore, Authentication, and Storage services.
- Firestore: For storing data as a NoSQL database.
- Authentication: For managing user identities and logins.
- Storage: For storing multimedia files.
Android Jetpack Libraries
The application will utilize several Android Jetpack libraries to streamline development and ensure robust architecture.
- Navigation Component: Helps in implementing navigation within the application.
- LiveData: Ensures that the UI components observe data changes.
- ViewModel: Provides a way to manage UI-related data in a lifecycle-conscious way.
- Dagger Hilt: Simplifies dependency injection in Android apps.