Skip to content

Repository files navigation

Weather App (PlanRadar Technical Assessment)

License

A modern Android application built with Kotlin and Jetpack Compose, following a modular MVI architecture for scalability, maintainability, and clean separation of concerns. This repository contains the technical assessment I completed during the hiring process at PlanRadar. The solution led to a successful offer and was later followed by my employment there. The repository is preserved in its original form, with documentation added afterward to explain the architecture and design decisions.

Shimmer Effect Shimmer Effect Shimmer Effect
Shimmer Effect Shimmer Effect Shimmer Effect

🔒 Security Check

Shimmer Effect

--- ## Why this project?

This project demonstrates how I build production-ready Android applications using a modular architecture, MVI, offline-first data flow, and modern Android development practices.

It was originally developed as the technical assessment for PlanRadar and resulted in a successful job offer.

🧩 Tech Stack

  • Kotlin – Primary language
  • Jetpack Compose – Declarative and reactive UI
  • Material 3 – Modern design system
  • Hilt – Dependency Injection
  • Retrofit + OkHttp + Gson – Networking and JSON parsing
  • Kotlin Coroutines & Flow – Asynchronous and reactive data handling
  • Room (Database Module) – Local caching with offline-first support
  • Coil – Image loading
  • JUnit4, MockK, Turbine – Testing stack

🧠 Architecture

  • Based on MVI (Model–View–Intent) for reactive state management.
  • Uses a multi-module architecture, where each feature and core functionality is separated into independent modules for scalability and faster builds.
  • Includes a dedicated database module that provides local data caching through Room, supporting an offline-first experience.
  • Follows clean architecture principles, separating UI, domain, and data layers clearly.

Architecture For Characters App


⚙️ Highlights

  • Reactive UI built with Compose + Flow
  • Scalable feature-based modular structure
  • Offline-first approach using Room and DataStore
  • Type-safe networking with Retrofit + Gson
  • Dependency management with Hilt
  • Clean, maintainable, and well-documented codebase
  • Security Check for emulator or root detect
  • Built-in CI/CD pipeline for continuous integration and testing
  • Ui testing

Future Improvements

  • Paging 3
  • Baseline Profiles
  • KSP migration
  • Compose Multiplatform (experimental)

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages