NoteCraft is a simple yet powerful notes application built with Flutter. It allows users to create, manage, and customize their notes with different colors for better organization. All notes are stored locally on the device using Hive, ensuring your data is always accessible, even offline.
Main notes view displaying a list of existing notes:
Adding a new note with title, content, and color selection:
Editing an existing note, with options to change title, content, and color:
Empty state of the notes list, prompting to add new notes:
- Create Notes: Easily add new notes with a title and detailed content.
- View & Edit Notes: Access and modify your existing notes anytime.
- Delete Notes: Remove notes you no longer need.
- Color Customization: Assign unique colors to your notes for quick identification and visual appeal.
- Local Storage: Notes are saved securely on your device using Hive, a lightweight and fast NoSQL database.
- Responsive Design: A clean and user-friendly interface that works smoothly.
- State Management: Built with Flutter Bloc/Cubit for robust and maintainable state management.
- Date Tracking: Automatically saves the creation/modification date for each note.
- Framework: Flutter
- Programming Language: Dart
- State Management: Flutter Bloc / Cubit
- Local Database: Hive
- Icons: Font Awesome Flutter
- Date Formatting: Intl
This project is a starting point for a Flutter application.
A few resources to get you started if this is your first Flutter project:
For help getting started with Flutter development, view the online documentation, which offers tutorials, samples, guidance on mobile development, and a full API reference.
- Flutter SDK: Make sure you have the Flutter SDK installed.
- Dart SDK: Included with Flutter.
- An IDE like Android Studio or VS Code with Flutter plugins.
-
Clone the repository:
git clone [https://github.com/your-username/notecraft.git](https://github.com/your-username/notecraft.git) # Replace with your actual repo URL cd notecraft
-
Install dependencies:
flutter pub get
-
Run the app:
flutter run
The project follows a standard Flutter application structure:
notes_app/
├── android/ # Android specific files
├── ios/ # iOS specific files
├── lib/
│ ├── cubits/ # Bloc/Cubit state management files
│ │ ├── add_note_cubit/
│ │ └── notes_cubit/
│ ├── models/ # Data models (e.g., NoteModel)
│ ├── views/ # UI screens/views
│ ├── widgets/ # Reusable UI components
│ ├── main.dart # Main application entry point
│ └── constants.dart # App-wide constants (colors, keys)
├── linux/ # Linux specific files
├── macos/ # macOS specific files
├── test/ # Test files
├── web/ # Web specific files
├── windows/ # Windows specific files
└── pubspec.yaml # Project dependencies and metadata
Contributions are welcome! If you have ideas for improvements or find any bugs, feel free to open an issue or submit a pull request.



