QuizTime: A Full-Stack Kotlin Application

A real-time, interactive quiz app for Android, powered by a flexible Kotlin backend and deployed to the cloud. This project demonstrates a complete, modern full-stack system built entirely in Kotlin.

Dashboard Screen Quiz Screen Result Screen Issue Report Screen

Project Architecture

An interactive overview of the project's components. Hover over any block to see details.

🤖

Android Client

☁️

AWS Deployment

REST API

🗄️

MongoDB

🔧

Ktor Backend

⚙️

Spring Boot Backend

Application Features

A look at the core functionalities of the QuizTime app.

Dashboard

A welcoming home screen that displays user stats and lists available quiz topics from the backend.

Interactive Quiz

A clean, reactive interface for taking quizzes, with a progress indicator and multiple-choice questions.

Detailed Results

After completing a quiz, users see their score and can review each question with the correct answer.

Offline Support

Implements a caching strategy, allowing users to take quizzes even without an internet connection.

Issue Reporting

A dedicated screen for users to report issues with questions, such as incorrect answers or typos.

Tech Stack & Tools

The technologies used to build every part of the application.

UI: Jetpack Compose
State Management: ViewModel & StateFlow
Asynchronous: Kotlin Coroutines
Dependency Injection: Koin
Offline Storage: Room Database
User Preferences: DataStore
Navigation: Navigation Component
Networking: Ktor Client