A smart Flutter note-taking application that helps you organize your daily and weekly tasks with automatic location tracking.
- ✅ Create Notes - Add new notes quickly and easily
- ✏️ Update Notes - Edit existing notes anytime
- 🗑️ Delete Notes - Remove notes you no longer need
- 📍 Location Tracking - Automatically save the location where each note was created
- 💾 Local Storage - All notes stored securely on your device using SQLite
- 🎯 Task Organization - Keep track of your daily and weekly tasks
- 📱 Shake to Action - Shake your device for quick actions
- Flutter - UI framework
- GetX - State management and navigation
- Floor - SQLite database wrapper for Flutter
- Geolocator - Location services
- Permission Handler - Managing device permissions
- Shake - Shake detection functionality
- SQLite - Local database storage
Before you begin, ensure you have the following installed:
- Flutter SDK (3.9.2 or higher)
- Dart SDK (3.9.2 or higher)
- Android Studio / VS Code
- Git
git clone https://github.com/yourusername/note_app.git
cd note_appflutter pub getflutter packages pub run build_runner build# For debug mode
flutter run
# For release mode
flutter run --release# Debug APK
flutter build apk --debug
# Release APK
flutter build apk --release
# Split APK by ABI (smaller file sizes)
flutter build apk --split-per-abiThe app requires the following permissions:
- Location - To save the location where notes are created
- Storage - To store notes locally
These permissions are handled automatically using the permission_handler package.
lib/
├── main.dart # App entry point
├── models/ # Data models
├── database/ # Floor database setup
├── controllers/ # GetX controllers
├── views/ # UI screens
└── utils/ # Helper functions
get: ^4.7.3- State management and routingfloor: ^1.5.0- SQLite database ORMgeolocator: ^14.0.2- Location servicespermission_handler: ^12.0.1- Permission managementsqflite: ^2.4.2- SQLite pluginshake: ^3.0.0- Shake detectiondartx: ^1.2.0- Dart extensions
floor_generator: ^1.4.2- Code generation for Floorbuild_runner: ^2.4.6- Build systemflutter_lints: ^5.0.0- Linting rules
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the project
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Omar Abouzeid
- GitHub: @oabouzeid
- Thanks to the Flutter team for the amazing framework
- GetX community for the excellent state management solution
- All contributors who helped improve this project
Made with ❤️ using Flutter