A modern, feature-rich note-taking application built with Flutter that allows users to create, edit, and manage notes with a clean and intuitive interface. The app supports both light and dark themes and uses local storage to ensure your notes are always available.
- ✏️ Create, read, update, and delete notes
- 🔍 Search and filter notes
- 🌓 Light and dark theme support
- 📱 Responsive design for various screen sizes
- 💾 Offline storage using Hive
- 🔒 Data persistence between app sessions
- 🧩 Clean architecture implementation
- 🏷️ Categories/Tags for better organization
- 📤 Share notes functionality
- Flutter - UI framework
- Bloc Pattern - State management via
flutter_bloc
- Hive - Local NoSQL database
- Get_it & Injectable - Dependency injection
- Dartz - Functional programming
- Equatable - Value equality
- UUID - Unique identifiers
- Share_plus - Sharing content with other applications
.
├── .gitignore
├── .metadata
├── README.md
├── analysis_options.yaml
├── android/
│ ├── .gitignore
│ ├── .kotlin/
│ │ └── sessions/
│ ├── app/
│ │ ├── build.gradle.kts
│ │ └── src/
│ ├── build.gradle.kts
│ ├── gradle/
│ │ └── wrapper/
│ ├── gradle.properties
│ └── settings.gradle.kts
├── ios/
│ ├── .gitignore
│ ├── Flutter/
│ │ ├── AppFrameworkInfo.plist
│ │ ├── Debug.xcconfig
│ │ └── Release.xcconfig
│ ├── Podfile
│ ├── Podfile.lock
│ ├── Runner/
│ │ ├── AppDelegate.swift
│ │ ├── Assets.xcassets/
│ │ ├── Base.lproj/
│ │ ├── Info.plist
│ │ └── Runner-Bridging-Header.h
│ ├── Runner.xcodeproj/
│ │ ├── project.pbxproj
│ │ ├── project.xcworkspace/
│ │ └── xcshareddata/
│ ├── Runner.xcworkspace/
│ │ ├── contents.xcworkspacedata
│ │ └── xcshareddata/
│ └── RunnerTests/
│ └── RunnerTests.swift
├── lib/
│ ├── core/
│ │ ├── config/
│ │ ├── error/
│ │ ├── modules/
│ │ ├── theme/
│ │ └── widgets/
│ ├── data/
│ │ ├── data_source/
│ │ ├── models/
│ │ └── repository/
│ ├── domain/
│ │ ├── entities/
│ │ ├── repository/
│ │ └── use_cases/
│ ├── hive/
│ │ └── data_source/
│ ├── main.dart
│ └── presentation/
│ ├── view/
│ └── view_model/
├── pubspec.lock
├── pubspec.yaml
├── screenshots/
│ ├── Simulator Screenshot - iPhone 16 Pro Max - 2025-09-28 at 23.02.42.png
│ ├── Simulator Screenshot - iPhone 16 Pro Max - 2025-09-28 at 23.02.59.png
│ ├── Simulator Screenshot - iPhone 16 Pro Max - 2025-09-28 at 23.03.12.png
│ ├── Simulator Screenshot - iPhone 16 Pro Max - 2025-09-28 at 23.03.21.png
│ ├── Simulator Screenshot - iPhone 16 Pro Max - 2025-09-28 at 23.03.26.png
│ ├── Simulator Screenshot - iPhone 16 Pro Max - 2025-09-28 at 23.05.15.png
│ └── Simulator Screenshot - iPhone 16 Pro Max - 2025-09-28 at 23.08.57.png
├── test/
│ └── widget_test.dart
└── web/
├── favicon.png
├── icons/
│ ├── Icon-192.png
│ ├── Icon-512.png
│ ├── Icon-maskable-192.png
│ └── Icon-maskable-512.png
├── index.html
└── manifest.json
Light Theme - Notes List | Dark Theme - Notes List | Create New Note |
---|---|---|
![]() |
![]() |
![]() |
Edit Existing Note | Search Functionality | Note Categories |
---|---|---|
![]() |
![]() |
![]() |
Navigation Drawer | App Settings |
---|---|
![]() |
![]() |
To get a local copy up and running, follow these simple steps.
- Flutter SDK installed (version 3.8.1 or higher)
- Dart SDK installed (version 3.8.1 or higher)
- Clone the repo
git clone https://github.com/your_username/notes_app.git
- Navigate to the project directory
cd notes_app
- Install Flutter packages
flutter pub get
- Run the app
flutter run
- Create Note: Tap the '+' button to create a new note.
- Edit Note: Tap on an existing note to edit its title, content, or categories.
- Delete Note: Tap the trash icon on a note card to delete it.
- Search Notes: Use the search icon in the app bar to filter notes by title or content.
- Change Theme: Open the drawer from the left and toggle between light and dark themes.
- Delete All Notes: Open the drawer and select "Delete all Notes" to clear all your notes.
- Share Note: Tap the share icon on a note card to share its content.
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE
for more information.
Your Name - your_email@example.com
Project Link: https://github.com/your_username/notes_app