A beautiful and intuitive notes application built with Flutter, featuring modern UI design and robust state management.
- 📝 Add Notes - Create new notes with title and content
- ✏️ Edit Notes - Update existing notes seamlessly
- 🗑️ Delete Notes - Remove notes with a simple tap
- 💾 Auto-Save - All changes are automatically saved locally
- 🎨 Beautiful UI - Modern dark theme with smooth animations
- 🚀 Splash Screen - Animated welcome screen with typewriter effect
- 📱 Responsive Design - Optimized for different screen sizes
- 🔄 State Management - Powered by Flutter Bloc/Cubit
- 💿 Local Storage - Persistent data storage with Hive database
The app follows Clean Architecture principles with separation of concerns:
lib/
├── constants.dart # App constants
├── main.dart # App entry point
├── models/
│ ├── note_model.dart # Note data model
│ └── note_model.g.dart # Generated Hive adapter
├── cubits/
│ ├── add_note_cubit/ # Add note state management
│ └── notes_cubit/ # Notes list state management
├── screens/
│ ├── splash_screen.dart # Welcome screen
│ ├── notes_screen.dart # Main notes list
│ └── edit_note_screen.dart # Note editing interface
└── widgets/
├── bottom_sheet_widget.dart # Add note modal
├── custom_button_widget.dart # Reusable button
├── custom_text_field.dart # Custom input field
├── note_item.dart # Individual note widget
└── note_list_view.dart # Notes list display
- Flutter - UI framework
- Dart - Programming language
- Flutter Bloc/Cubit - State management solution
- Hive - Fast, lightweight NoSQL database
- Animated Text Kit - Text animations for splash screen
- Modal Progress HUD - Loading indicators
dependencies:
flutter:
sdk: flutter
flutter_bloc: ^8.1.3
hive: ^2.2.3
hive_flutter: ^1.1.0
animated_text_kit: ^4.2.2
modal_progress_hud_nsn: ^0.4.0
dev_dependencies:
hive_generator: ^2.0.0
build_runner: ^2.4.6- Flutter SDK (latest stable version)
- Dart SDK
- Android Studio / VS Code
- Android/iOS device or emulator
- Tap the floating action button to open the add note modal
- Fill in the title and content fields
- Notes are automatically timestamped
- Real-time validation ensures required fields are completed
- All notes are displayed in a beautiful card-based layout
- Each note shows title, content preview, and creation date
- Smooth scrolling with optimized performance
- Tap any note to open the edit screen
- Make changes to title and content
- Auto-save functionality preserves your edits
- Navigate back to see updates immediately
- Use the delete button on each note card
- Instant removal with automatic list refresh
- No confirmation dialog for quick deletion
The app uses Cubit pattern for state management:
- Handles note creation logic
- Manages loading states during save operations
- Provides error handling for failed operations
- Manages the list of all notes
- Handles data retrieval from Hive database
- Updates UI when notes are added, edited, or deleted
Hive Database is used for local storage:
- Fast, lightweight NoSQL database
- Type-safe with generated adapters
- Perfect for offline-first applications
- Automatic data serialization/deserialization