Skip to content

A modern Spending Tracker app built with Jetpack Compose using MVI architecture and Clean Architecture principles. It utilizes Room for local storage, Kotlin Coroutines with StateFlow for reactive state management, and Koin for dependency injection.

Notifications You must be signed in to change notification settings

SeifMortada/Spending-Tacker-App

Repository files navigation

Spending Tracker App

A modern and intuitive spending tracker application that helps users manage their expenses effectively. Built using the latest Android development technologies, this app follows Clean Architecture, ensuring scalability, testability, and maintainability.


Features

User Features

  • Add Expenses: Quickly track daily expenses .
  • Budget Management: Set budget limits .
  • Offline Mode: Fully functional without internet, thanks to Room database integration.
  • Modern UI: Developed with Jetpack Compose for a smooth and responsive user experience.

Developer Features

  • Jetpack Compose: Declarative UI framework for creating highly dynamic and reusable components.
  • Clean Architecture: Ensures separation of concerns with clearly defined layers (UI, Domain, Data).
  • MVI Architecture: Manages unidirectional data flow, resulting in predictable and maintainable state.
  • Room Database: Provides a secure and efficient solution for local storage.
  • Koin Dependency Injection: Simplifies dependency management across the app.
  • Kotlin Coroutines & StateFlow: Handles asynchronous tasks and reactive state updates effectively.

Tech Stack

  • Language: Kotlin
  • UI Framework: Jetpack Compose
  • Architecture: Clean Architecture + Model-View-Intent (MVI)
  • Local Storage: Room Database
  • Dependency Injection: Koin
  • Asynchronous Processing: Kotlin Coroutines & StateFlow

About

A modern Spending Tracker app built with Jetpack Compose using MVI architecture and Clean Architecture principles. It utilizes Room for local storage, Kotlin Coroutines with StateFlow for reactive state management, and Koin for dependency injection.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages