A sleek, offline-first Flutter notes application for capturing ideas quickly, organizing them with colors, and editing them with a smooth, minimal UI.
- Create notes with title + content
- Edit existing notes with unsaved-changes protection
- Delete notes with confirmation
- Pick from a rich built-in color palette
- Notes sorted by newest first
- Offline local persistence with Hive
- Arabic/English-aware text direction support
- Clean dark theme with custom typography
- Flutter (cross-platform UI)
- Dart (language)
- flutter_bloc / Cubit (state management)
- Hive + hive_flutter (local NoSQL storage)
- intl (date formatting)
- font_awesome_flutter (icons)
- modal_progress_hud_nsn (loading overlay)
lib/
├── cubit/
│ ├── add_note_cubit/
│ └── notes_cubit/
├── helpers/
├── models/
├── views/
└── widgets/
main.dartinitializes Hive, registers adapters, opens the notes box, and boots the app.models/note_model.dartdefines the persisted note entity.cubit/contains app state logic for adding and listing notes.views/andwidgets/implement UI screens and reusable components.
- Flutter SDK
- Dart SDK (included with Flutter)
git clone https://github.com/AhmadOsaMayad/notes_app.git
cd notes_app
flutter pub getflutter run# Static analysis
flutter analyze
# Run tests
flutter test
# Generate Hive adapters (if model changes)
flutter pub run build_runner build --delete-conflicting-outputs- Notes are stored locally in Hive box:
notes_box NoteModelstores:- note title (
title) - note body/content text (stored in the
subtitlefield for legacy compatibility) - note date (
date) - note color (
color) - Arabic language flags for title/content direction handling
- note title (
This project includes Flutter platform folders for:
- Android
- iOS
- Web
- Windows
- Linux
- macOS
Built by Ahmad Osa Mayad.
If you like the project, consider starring ⭐ the repository.