Mobile, desktop & console
TaskManager · native Android app
A native Android app in Kotlin to create, edit and track daily tasks, with on-device storage and an MVVM architecture.
- Individual project
- layers: view, ViewModel, Repository, Room
- 4
- statuses: pending, completed
- 2
01Starting point
Context & mission
The problem
A task app must be simple on screen and reliable underneath: screen rotation, data kept, code easy to evolve.
The mission
Build a clean native app, with a strict separation between interface, logic and data.
My role
Designed and built on my own.
02Execution
What I did
Task management
Create, edit, delete; title, description, optional date and pending or completed status.
Local persistence
Data stored on the device with Room, on top of SQLite.
MVVM and Repository
ViewModels that survive configuration changes; a Repository that centralises data access.
Interface
XML layouts and Material Design; build with Gradle Kotlin DSL.
03Design
Architecture
MVVM with a Repository: the view observes the ViewModel, the ViewModel goes through the Repository, the Repository reads and writes Room.
- ViewXML · Material
- ViewModelLifecycle-aware
- Repository
- Room
- SQLite
04Impact
Results
- A native app that keeps its data on the device.
- Split code, easy to evolve.
05Wrap-up
Takeaways
What this project provesThat I apply the recommended Android patterns instead of all-in-one activity code.
06Technology
Full stack
- Kotlin
- Android Jetpack
- ViewModel
- Room
- SQLite
- MVVM
- RecyclerView
- Material Design
- Gradle Kotlin DSL