Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Notes App 📝

A fully functional offline Notes application built using Kotlin and the MVVM architecture pattern. This is my first Kotlin project where I implemented modern Android development practices including Dependency Injection with Kodein,MVVM patern and local data storage using Room Database.

The app provides a complete note management experience with rich text editing, searching, archiving,saving Notes, trash management, selection actions, and light/dark theme support.

Features

📝 Create and Edit Notes

  • Create notes with:

    • Title
    • Content
  • Rich text editing support:

    • Bold text
    • Italic text
    • Underline text
    • Highlight text using marker color
  • Displays:

    • Last updated date below the title
    • Character count below the title
  • Notes are saved automatically when:

    • Pressing the back button
    • Pressing the OK/save button from the editor screen

🏠 Main Notes Screen

The main screen displays all active notes and provides note management features.

Drawer Layout

The navigation drawer contains:

  • Light/Dark mode toggle
  • Archived Notes section
  • Trash Notes section

Note Actions

  • Long press any note to enter selection mode.
  • Available actions:
    • Pin notes
    • Archive notes
    • Delete notes

🔍 Search Notes

  • Dedicated search activity for finding notes quickly.
  • Search notes using the search box.
  • Open notes directly from search results.
  • View or edit notes from search results.

📦 Archived Notes

  • Move notes from the main screen to archive.

  • View all archived notes separately.

  • Select multiple archived notes.

  • Available action:

    • Remove from archive (move back to the main notes list)

📦 Saved Notes

  • Move notes from the main screen to Saved Notes Section.

  • View all Saved notes separately.

  • Select multiple Saved notes.

  • Available action:

    • Remove from Saved Notes (move back to the main notes list)

🗑️ Trash Notes

  • Deleted notes are moved to trash instead of being removed immediately.
  • Manage deleted notes separately.

Features:

  • Select one or multiple notes using checkbox.
  • Available actions:
    • Restore notes back to the main list
    • Permanently delete notes
    • Select all option for bulk actions

✅ Selection Mode

The app supports multi-selection actions across different screens.

Main Notes Screen:

  • Pin notes
  • Archive notes
  • Delete notes

Trash Screen:

  • Restore notes
  • Permanently delete notes

Archive Screen:

  • Remove notes from archive

selection Button on Top provides checkboxes to select multiple notes at once.

Saved Notes Screen:

  • Remove notes from Saved Notes

selection Button on Top provides checkboxes to select multiple notes at once.


🛠️ Technologies Used

  • Kotlin
  • MVVM Architecture
  • Kodein Dependency Injection
  • Room Database
  • ViewModel
  • LiveData
  • RecyclerView
  • Navigation Drawer
  • Dark/Light Theme Support

🏗️ Architecture

The project follows the MVVM pattern:

UI Layer
   |
ViewModel
   |
Repository
   |
Room Database

The architecture provides:

  • Better code organization
  • Separation of concerns
  • Easier maintenance and scalability

📱 Screenshots

🏠 Main Screen

✏️ Edit/View/Update Note Screen

🔍 Search Screen

☰ Drawer Layout

🗑️ Delete Notes

📦 Archive

📦 Saved Notes


🚀 Project Highlights

This project demonstrates a complete offline note-taking application with:

  • Rich text editing
  • Local database storage
  • MVVM architecture
  • Dependency injection
  • Search functionality
  • Archive and trash management
  • Multi-selection actions
  • Theme customization

Future Improvements

  • Add more customization options

Developed my first Kotlin Android application while learning modern Android development practices, including MVVM architecture, LiveData, ViewModel, Room Database, and dependency injection with Kodein.

About

An Android Notes App built with Kotlin and the MVVM architecture, featuring rich text editing (Bold, Italic, Underline, Highlight), search, archive, trash management, and dark mode support.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages