My Portfolio

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.

Home Page
Quiz-Type page
Quiz Page
Quizes
Leaderboard Page
User data stored with firestore
Quiz data stored with firestore

Year

2023

GitHub

Type

Kotlin/ Android Studios

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. 
 
Scroll to Top