Skip to content

My Note is a modern note-taking app built with Jetpack Compose, using MVVM, Hilt, Room, DataStore, and Navigation Compose in a clean, modular architecture.

License

Notifications You must be signed in to change notification settings

sadegh-it/My-Note

Repository files navigation

My Note

Version Kotlin Compose Architecture Status

A modern note-taking application built with a standard Android architecture and best development practices.

##✨ Features

Fully built with Jetpack Compose

Clean MVVM architecture

Dependency Injection using Dagger Hilt

Local database powered by Room

Settings storage using DataStore (Preferences)

Navigation handled by Navigation Compose

Fast and reliable offline storage

Modern, clean, and scalable UI

Dark & Light theme support

🧱 Tech Stack

  • Kotlin
  • Jetpack Compose
  • MVVM
  • Room Database
  • DataStore Preferences
  • Dagger Hilt
  • Navigation Compose
  • Coroutines & Flow

##🎯 Project Goal

This project was designed and implemented to:

Practice standard Android architecture

Build a real-world note-taking application

Serve as a portfolio project.


📂 Project Structure


mynote/
   ├── base/
   │   └── NoteApp.kt
   ├── core/
   │   └── util/
   ├── HighlightText.kt
   │       └── PersianDate.kt
   ├── data/
   │   └── local/
   │       ├── datastore/
   │       │   ├── AppSettings.kt
   │       │   ├── DataStoreExt.kt
   │       │   ├── ThemeDataStore.kt
   │       │   └── ThemeManager.kt
   │       └── db/
   │           ├── AppDatabase.kt
   │           ├── dao/
   │           │   └── NoteDao.kt
   │           └── entity/
   │               └── NoteEntity.kt
   ├── di/
   │   ├── DatabaseModule.kt
   │   └── DataModule.kt
   ├── MainActivity.kt
   ├── navigation/
   │   ├── navGraph.kt
   │   └── Screens.kt
   ├── repository/
   │   └── NotesRepository.kt
   ├── ui/
   │   ├── event/
   │   │   └── UiEvent.kt
   │   ├── model/
   │   │   └── NoteUiModel.kt
   │   ├── screen/
   │   │   ├── add_edit/
   │   │   │   ├── AddEditNoteScreen.kt
   │   │   │   └── components/
   │   │   │       ├── AddEditTopAppBar.kt
   │   │   │       ├── ColorPalette.kt
   │   │   │       ├── ContentTextField.kt
   │   │   │       ├── PinCheckbox.kt
   │   │   │       └── TitleTextField.kt
   │   │   └── notes/
   │   │       ├── components/
   │   │       │   ├── AppAlertDialog.kt
   │   │       │   ├── EmptyState.kt
   │   │       │   ├── MessageHandler.kt
   │   │       │   ├── MyCustomSnackbar.kt
   │   │       │   ├── NoteCard.kt
   │   │       │   ├── NotesList.kt
   │   │       │   └── SearchBar.kt
   │   │       ├── NoteListScreen.kt
   │   │       └── NotesTopBar.kt
   │   └── theme/
   │       ├── Color.kt
   │       ├── Theme.kt
   │       └── Type.kt
   └── viewModel/
  │        └── NotesViewModel.kt

▶️ Run the Project

  1. Clone the repository:
git clone https://github.com/sadegh-it/My-Note.git
  1. Open the project in Android Studio

  2. Build and run on an emulator or physical device


📥 Download

About

My Note is a modern note-taking app built with Jetpack Compose, using MVVM, Hilt, Room, DataStore, and Navigation Compose in a clean, modular architecture.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  

Languages