Skip to content
HamzaA598Public

About

Native Android personal productivity application built with Java, Google Jetpack MVVM architecture, Room Database persistence, LiveData reactive state, and ListAdapter RecyclerView.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

2 Commits

Folders and files

Repository files navigation

Notebook — Android MVVM Application

Platform Language Architecture Room

A clean, native Android note-taking application designed to demonstrate the Google Jetpack Model-View-ViewModel (MVVM) architectural pattern and modern local persistence with Android Room Database.


Architectural Pattern (MVVM)

  +------------------------------------------------+
  |              View (UI Layer)                   |
  |  MainActivity / AddEditNoteActivity            |
  |  - Observes LiveData updates                   |
  |  - Dispatches user intent & gestures           |
  +-----------------------+------------------------+
                          |
                          v
  +------------------------------------------------+
  |             ViewModel Layer                    |
  |  NoteViewModel                                 |
  |  - Survives configuration changes              |
  |  - Exposes LiveData<List<Note>>                |
  +-----------------------+------------------------+
                          |
                          v
  +------------------------------------------------+
  |            Repository Layer                    |
  |  NoteRepository                                |
  |  - Single source of truth                      |
  |  - Manages background thread worker execution  |
  +-----------------------+------------------------+
                          |
                          v
  +------------------------------------------------+
  |              Local Database                    |
  |  Room Database / SQLite (NoteDao)              |
  |  - Type-safe SQLite abstractions               |
  +------------------------------------------------+

Key Features

  • Jetpack MVVM Architecture: Clean separation of concerns between UI presentation, presentation logic, and underlying data persistence.
  • Room SQLite Persistence: Room annotations (@Entity, @Dao, @Database) providing compile-time verification of SQL queries and observable data streams.
  • Reactive UI with LiveData: Automatic UI synchronization upon database mutations with zero memory leaks.
  • Optimized UI Components: Smooth swipe-to-delete and priority ordering via RecyclerView and ItemTouchHelper.

Tech Stack

  • Language: Java
  • Architecture: Android Jetpack MVVM (ViewModel, LiveData)
  • Local Persistence: Room Persistence Library (SQLite)
  • UI: XML Layouts, Material Design Components, RecyclerView

Getting Started

  1. Clone repository:
    git clone https://github.com/HamzaA598/Notebook.git
  2. Open the project in Android Studio.
  3. Let Gradle sync and download dependencies.
  4. Run on an Android emulator or physical device running Android 5.0 (API 21) or higher.

About

Native Android personal productivity application built with Java, Google Jetpack MVVM architecture, Room Database persistence, LiveData reactive state, and ListAdapter RecyclerView.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages