A Note Taking Application written in Flutter
note_app_flutter_sqflite_provider
? Introduce
This is a note taking app made with Flutter that helps you to take notes of important things on your phone anytime without internet connection. (Design ideas based on Google Keep App)
The application I created for the purpose of learning to review knowledge such as CRUD SQlite, Provider (state management) and learn some new knowledge such as application internationalization, freeing memory.
During the implementation process, I encountered some silly errors and promptly fixed them. Difficulties I have encountered:
- delete image files and cache when not in use
- error when undoing a note
- listen for changes when creating new labels
- display grid list of images
- meet some errors on performance related async/await, query sqlite
- and there are some more problems
Finally after a while looking for a fix, I finished this application. I tried to optimize the lines of code to the best of my ability (at the time of project implementation), but of course there will be errors or inadequacies. Looking forward to receiving your valuable contributions.
Don’t hesitate to give this project 1 ? if you like it. Thank you
? App preview
? How to Use the Project
You can use the app by installing apk file (applicable to android devices)
? The main functions of the application
- add, delete, edit, undo, search notes
- add, delete, edit labels
- add images from camera and gallery
- change note background color
- show notes by label
- display list of notes, labels
- Support 3 languages: Vietnamese, English, Arabic (If the device does not use the above 3 languages, the first installation will default to Vietnamese)
- all data will be saved in local storage
ℹ️ Version and packages used
- Flutter 2.8.1
- Dart 2.14.3
- perform operations with path: path: ^1.8.0
- find commonly used locations on the file system: path_provider: ^2.0.8
- store data locally: sqflite: ^2.0.0+4
- state management: provider: ^6.0.1
- use font of google: google_fonts: ^2.2.0
- create staggered grid list: flutter_staggered_grid_view: ^0.4.1
- store data as key-value (in this project is to save the view mode): shared_preferences: ^2.0.12
- lauch URL: url_launcher: ^6.0.13
- pick image from camera and gallery: image_picker: ^0.8.4+4
- pick color: flutter_colorpicker: ^1.0.3
- format date and localizations: intl: ^0.17.0
- zoomable image: photo_view: ^0.13.0
- create splash screen: flutter_native_splash: ^1.3.2
- updating app’s launcher icon: flutter_launcher_icons: ^0.9.2
? License
You can use the free source code for learning purposes. If you use for other purposes, please quote the source.