A work-in-progress quiz app I started developing for a client but got paused.

Related tags

App quiz-app
Overview

quiz-app

A work-in-progress quiz app I started developing for a client but got paused.

Background

This app was intended to be a trivia app where users answers questions to compete with their friends. Most of the components (buttons, shadows, cards, animations, etc.) were custom and created from stratch. After a month of part-time work, the business owners decided not to prioritize this particular mobile app and paused the project until a second notice. The project is completely written by me (Safa Orhan) and architected in a way that it's highly testable and scalable.

Libraries Used

  • Amplify AWS: Authentication system
  • Retrofit & OkHttp: API consumption
  • Hilt: Dependency Injection
  • Lottie: Animations
  • Jetpack Navigation: Navigation system
  • ViewModel, Kotlin Coroutines, Kotlin Flow, Kotlin StateFlow, Jetpack DataStore, Data Binding Library, ...

Test Libraries Used

  • JUnit4
  • AssertJ: Fluent assertions
  • Mockito Kotlin: Fluent mocking
  • Turbine: To write fluent Kotlin Flow tests
  • MockWebServer: E2E testing networking and business logic together

Architectural Decisions

Multi Module App

This app is a multi-module app. It means every feature and tooling is packed in a separate gradle module to reduce build times and allow module-level reusability among other future projects. The challenge with creating a multi-module app is you need to consider gradle module dependency tree at and Hilt dependency tree at the same time. It needs a good knowledge of how gradle works.

Automated Unit Tests

This app has automated unit tests which run in the JVM level and automated by GitHub actions. With a good GitHub configuration we can ensure there are no failing tests in the master / main branch.

Also, with the help of MockWebServer we could test the app using realistic tests against saved backend responses. See the following test:

carbon (27)

MVVM with Coroutines + Flow

This app deals with asynchronity using Coroutines and create reactive streams with the help of Flow and StateFlow. In general the app follows the officially endorsed MVVM architecture pattern by Google.

You might also like...
The Sleep tracker app for lesson 6 of the Udacity: Developing Android Apps with Kotlin Course
The Sleep tracker app for lesson 6 of the Udacity: Developing Android Apps with Kotlin Course

App Architecture-Presistence This is the Sleep tracker app for lesson 6 of the U

ASJ-Quix - A quiz app developed for Android Study jams sessions
ASJ-Quix - A quiz app developed for Android Study jams sessions

ASJ-Quix A quiz app developed for Android Study jams sessions

QuizAppKotlinAndroid - Quiz Android App Written In Kotlin
QuizAppKotlinAndroid - Quiz Android App Written In Kotlin

Quizer - QuizAppKotlinAndroid Homepage Result Page Quiz Page

Tork is a quiz Application done in android
Tork is a quiz Application done in android

Tork(Quiz game app) A simple mini quiz game app about programming languages. About The app is a sample quiz with integration of Firebase. The categori

Rolling Scopes School - Android 2021 - Stage 1 - Task 2 - Quiz
Rolling Scopes School - Android 2021 - Stage 1 - Task 2 - Quiz

rsschool2021-Android-task-quiz Rolling Scopes School - Android 2021 - Stage 1 - Task 2 - Quiz ☝️ Во втором практическом задании создадим приложение-кв

Geography quiz application with three levels of test

Geography quiz application with three levels of test GeoQuiz has been created to challenge yourself by your knowledge of geography. When the user inst

AboutMe - From Udacity course Developing Android Apps with Kotlin
AboutMe - From Udacity course Developing Android Apps with Kotlin

AboutMe App From Udacity course "Developing Android Apps with Kotlin".

This is the kotlin-based android application. In this you can solve upto 100 flag-quiz question and enhance your skill.
This is the kotlin-based android application. In this you can solve upto 100 flag-quiz question and enhance your skill.

Flag Quiz App - DOWNLOAD APP Enhance your knowledge by taking part in this Quiz - 100 Questions in 30 minutes It is based on the Kotlin language. You

when you use restful api and network get disconnect you have to store your data local for make your app faster and work on ofline mode

AppArchitectureOflineMode when you use restful api and network get disconnect you have to store your data local for make your app faster and work on o

Owner
Ahmet Safa Orhan
Ahmet Safa Orhan
Pop!Quiz is a quiz building and self study app.

PopQuiz Project Description Pop!Quiz is a quiz building and self study app. Users can create their own quizzes or download them from the server. Creat

null 2 Apr 13, 2022
The app has got fullscreen Turkey map via Huawei Map. App selects random province and shows it borders on the map than user will try to guess the provinces name.

Il Bil App Introduction I will introduce you to how to implement Account Kit, Map Kit, Game Service. About the game: The app has got fullscreen Turkey

Gökhan YILMAZ 4 Aug 2, 2022
Sanctuary relies on the Android Work Profile APIs to create a self-contained work profile on a user's personal device.

Sanctuary relies on the Android Work Profile APIs to create a self-contained work profile on a user's personal device. Managed apps, data, and management policies are restricted to the work profile, keeping them secure and separate from personal data while maintaining user privacy.

Jonathan Odul 1 Dec 15, 2021
This is a work-in-progress (🔧️) ultraviolet index viewer app for demonstrating Instant Apps + Kotlin + Dagger + MVP

UV Index A simple ultraviolet index viewer app for demonstrating: Instant Apps + Kotlin + Dagger + MVP Built With Weatherbit as weather API Android In

Mustafa Berkay Mutlu 65 Oct 31, 2022
Arjun Naik 1 Apr 16, 2022
Getting Started TheMovieDB Android app

Getting Started TheMovieDB Android app Android application, created for the test for oddbit. Implements: Room, LiveData, Dependecy Injection (Hilt), R

Aditya Wibisana 0 Sep 6, 2022
Quiz-App - An Android app which have some basic questions

Quiz-App An Android app which have some basic questions Start page Questions pag

Gururaj KL 3 Apr 21, 2022
A quiz app built with trivia api. This app was built with mvvm architecture, dagger-hilt, retrofit, room database, and navigation components.

A quiz app built with trivia api. This app was built with mvvm architecture, dagger-hilt, retrofit, room database, and navigation components.

Stephen Odumirin 3 Dec 19, 2022
A simple word quiz app to prepare for English proficiency tests

Vocab-Buddy Vocab Buddy is a simple, free, and ad-free word quiz app that is designed to help users exercise/improve their vocabulary for globally rec

Dishant Behera 8 Jun 11, 2022
An android Quiz App in kotlin framework and uses Appwrite as backend

Quiz App Intro An android Quiz App in kotlin framework and uses Appwrite as backend How to clone and run the project: Cloning : git clone https://gith

null 2 Oct 22, 2022