A minimalist note-taking application built with Flutter that allows users to organize notes in hierarchical groups.
- Simple and Intuitive UI: Clean, minimalist design focused on usability
- Hierarchical Note Organization: Create nested groups and subgroups to organize your notes
- Note Management: Create, edit, and delete notes with ease
- Group Management: Create, edit, and delete groups with proper handling of child groups and notes
- Trash System: Deleted notes and groups are moved to trash before permanent deletion
- Restoration: Restore notes and groups from trash, maintaining their original structure
- Offline Storage: All data is stored locally on the device
The application follows Clean Architecture principles with a clear separation of concerns:
- Domain Layer: Contains business logic, entities, and use cases
- Data Layer: Implements repositories and data sources
- Presentation Layer: Handles UI components and state management
- State Management: Riverpod
- Routing: Go Router
- Local Storage: Hive
lib/
├── common/ # Common utilities and widgets
├── core/ # Core functionality (navigation, theme, etc.)
└── features/
└── notes/ # Main feature module
├── data/ # Data layer (repositories, models, data sources)
├── di/ # Dependency injection
├── domain/ # Domain layer (entities, use cases)
└── presentation/ # UI layer (screens, widgets, providers)
- Flutter SDK (3.0.0 or higher)
- Dart SDK (3.0.0 or higher)
- Android Studio / VS Code with Flutter extensions
-
Clone the repository:
git clone https://github.com/yourusername/easy_notes_app.git
-
Navigate to the project directory:
cd easy_notes_app
-
Install dependencies:
flutter pub get
-
Run the app:
flutter run
- Creating Notes: Tap the floating action button to create a new note
- Creating Groups: Use the drawer menu to add new groups
- Organizing Notes: Assign notes to groups during creation or editing
- Managing Trash: Access the trash from the app bar to restore or permanently delete items
- Rich text formatting (bold, italic, font sizes, colors)
- Cloud synchronization
- Tagging system for notes
- Search functionality
- Dark mode / theme customization