Skip to content

🧠 QuizTime – An interactive quiz and learning app built with Jetpack Compose, Koin, Clean Architecture, and Ktor (custom backend with MongoDB). Offline-ready using Room Database.

Notifications You must be signed in to change notification settings

gauravsingh2906/QuizTime

Repository files navigation

🧠 QuizTime – Interactive Quiz & Learning App

πŸ–ΌοΈ Screenshots

Home Screen Quiz Screen Result Full Result Questions
Home Search Result Result Questions

QuizTime is a modern Android quiz application built using Jetpack Compose, Clean Architecture, Koin for Dependency Injection, and Ktor for network communication.
The backend API is self-developed using Ktor Server, which can be deployed on Railway or any other hosting platform.


πŸš€ Tech Stack

🧩 Android (Client)

  • Kotlin
  • Jetpack Compose – Modern declarative UI toolkit
  • Clean Architecture – Separation of concerns (Domain, Data, Presentation)
  • Koin – Dependency Injection
  • Local Storage - Room Database
  • Ktor Client – For API communication
  • Coroutines & Flow – For asynchronous programming
  • Material 3 – For beautiful UI design

πŸ–₯ Backend (Server)

  • Ktor Server (Kotlin)
  • MongoDB – NoSQL database
  • Koin (Server) – For DI
  • Deployed using Railway

πŸ“ Project Structure

QuizTime/
β”‚
β”œβ”€β”€ app/
β”‚ └── src/main/java/com/google/codelab/quiztime/
β”‚ β”œβ”€β”€ di/ # Dependency injection (Koin modules)
β”‚ β”œβ”€β”€ domain/ # Business logic layer
β”‚ β”‚ β”œβ”€β”€ model/ # Data models (QuizQuestions, Topics, Answers)
β”‚ β”‚ β”œβ”€β”€ repository/ # Repository interfaces
β”‚ β”‚ └── utils/ # Domain utilities
β”‚ β”œβ”€β”€ data/ # Data layer
β”‚ β”‚ β”œβ”€β”€ local/ # Local database (Room / DataStore)
β”‚ β”‚ β”œβ”€β”€ remote/ # Ktor API client
β”‚ β”‚ β”œβ”€β”€ repository/ # Repository implementations
β”‚ β”‚ └── utils/ # Constants, error handling
β”‚ β”œβ”€β”€ presentation/ # UI layer (Jetpack Compose)
β”‚ β”‚ β”œβ”€β”€ dashboard/ # Main quiz dashboard
β”‚ β”‚ β”œβ”€β”€ quiz_screen/ # Quiz questions screen
β”‚ β”‚ β”œβ”€β”€ result_screen/ # Result and summary screen
β”‚ β”‚ β”œβ”€β”€ issue_report/ # Report issues
β”‚ β”‚ β”œβ”€β”€ navigation/ # App navigation setup
β”‚ β”‚ └── theme/ # Compose theme and colors
β”‚ └── MainActivity.kt # App entry point

About

🧠 QuizTime – An interactive quiz and learning app built with Jetpack Compose, Koin, Clean Architecture, and Ktor (custom backend with MongoDB). Offline-ready using Room Database.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages