Skip to content

A simple Jetpack Compose Counter App built using MVVM architecture. Demonstrates reactive state updates with a ViewModel. UI-only demo with increment and decrement functionality.

Notifications You must be signed in to change notification settings

Shantanupawar77/mvvm-counter-compose

Repository files navigation

🔢 MVVM Counter App – Jetpack Compose

A simple and clean Counter App built using Jetpack Compose and MVVM Architecture.
This app demonstrates how to separate UI state from business logic using a ViewModel.
Users can increment or decrement the counter, and the UI updates automatically thanks to Compose’s reactive state system.

⚠️ Note: This project contains only MVVM + UI implementation.
More advanced features will be added later.


📥 Download APK

👉 APK Link:
https://drive.google.com/file/d/1hBnkp2EPTRE1NE-LMl-B2FjmhVMqgFUV/view


🚀 Features

🎨 Jetpack Compose UI

  • Clean and modern UI using Material 3
  • Card-based counter display
  • Layout built entirely with Compose
  • Stateless UI connected to ViewModel state

🧠 MVVM Architecture

  • ViewModel manages counter state
  • UI observes state using mutableStateOf()
  • Functions for increment and decrement
  • Fully reactive state updates

⚡ Reactive Updates

  • UI automatically re-composes on value change
  • No need to manually refresh the screen
  • Clean separation of logic + UI

📌 Future Enhancements

  • Add reset button
  • Add animations to counter
  • Add Haptic feedback
  • Save counter using DataStore
  • Add dark/light theme toggle
  • Add unit tests for ViewModel

🤝 Contributing

Feel free to fork this project and enhance functionality.
PRs are always welcome!


⭐ Support

If this project helped you understand MVVM + Compose basics, please give it a ⭐ on GitHub!

Releases

No releases published

Packages

No packages published

Languages