Official website: https://cmwen.github.io/quick-log-app
An Android-only tag-first logging application for quick note-taking with location tracking. Built with Flutter for optimal Android performance.
- π·οΈ Tag-First Logging: Quickly categorize entries with customizable tags
- π Location Tracking: Automatic GPS location capture with geocoding
- π Optional Notes: Add detailed notes to any entry
- ποΈ Local Database: All data stored securely on-device with SQLite
- π¨ Material Design 3: Beautiful, modern Android UI
- π Dark Mode: Automatic theme switching based on system settings
- β Flutter SDK 3.10.1+
- β Dart 3.10.1+
- β Java 17+
- β Android SDK with API level 21+ (Android 5.0+)
- β Android device or emulator
Verify setup: flutter doctor -v && java -version
# Clone the repository
git clone https://github.com/cmwen/quick-log-app.git
cd quick-log-app
# Get dependencies
flutter pub get
# Verify everything works
flutter analyze# Run on connected Android device or emulator
flutter run
# Build debug APK
flutter build apk --debug
# Build release APK
flutter build apk --release
# Build release App Bundle (for Play Store)
flutter build appbundle --releaseThe app requires the following permissions:
| Permission | Purpose |
|---|---|
ACCESS_FINE_LOCATION |
GPS location for accurate tracking |
ACCESS_COARSE_LOCATION |
Network-based location fallback |
INTERNET |
Geocoding service for location names |
Users will be prompted to grant location permissions on first use.
βββ lib/
β βββ main.dart # App entry point
β βββ data/
β β βββ database_helper.dart # SQLite database operations
β βββ models/
β β βββ log_entry.dart # Entry data model
β β βββ log_tag.dart # Tag data model
β βββ screens/
β β βββ main_screen.dart # Main logging screen
β β βββ entries_screen.dart # View past entries
β β βββ tags_screen.dart # Manage tags
β βββ widgets/
β βββ tag_chip.dart # Reusable tag widget
βββ android/ # Android platform configuration
βββ test/ # Unit and widget tests
βββ pubspec.yaml # Dependencies
Optimized for fast Android builds:
- Java 17 baseline for modern Android development
- Parallel Gradle builds with 4 workers (local)
- R8 code shrinking: 40-60% smaller release APKs
- Build caching enabled for faster incremental builds
| Build Type | Time |
|---|---|
| Debug APK (cached) | 30-60s |
| Release APK | 1-2 min |
| App Bundle | 1-2 min |
- build.yml: Tests, lints, builds APK on every push
- release.yml: Signed releases on version tags
- pre-release.yml: Manual beta/alpha releases
# 1. Generate keystore
keytool -genkey -v -keystore release.jks -keyalg RSA -keysize 2048 -validity 10000 -alias release
# 2. Add GitHub Secrets
- ANDROID_KEYSTORE_BASE64: `base64 -i release.jks`
- ANDROID_KEYSTORE_PASSWORD
- ANDROID_KEY_ALIAS: release
- ANDROID_KEY_PASSWORD
# 3. Tag and push
git tag v1.0.0 && git push --tags- GETTING_STARTED.md - Detailed setup guide
- APP_CUSTOMIZATION.md - Customization options
- BUILD_OPTIMIZATION.md - Build performance details
- TESTING.md - Testing guide
- CONTRIBUTING.md - Contribution guidelines
| Package | Purpose |
|---|---|
provider |
State management |
sqflite |
Local SQLite database |
path_provider |
File system paths |
geolocator |
GPS location services |
geocoding |
Reverse geocoding |
intl |
Date/time formatting |
flutter_chips_input |
Tag input UI |
This project includes 6 specialized AI agents for VS Code:
| Agent | Purpose |
|---|---|
| @product-owner | Define features & requirements |
| @experience-designer | Design UX & user flows |
| @architect | Plan technical architecture |
| @researcher | Find packages & best practices |
| @flutter-developer | Implement features & fix bugs |
| @doc-writer | Write documentation |
- Check Flutter installation:
flutter doctor -v - Verify Android SDK: Ensure API level 21+ is installed
- Check device connection:
flutter devices - Enable USB debugging on your Android device
- Run in verbose mode:
flutter run -v
- Grant location permissions when prompted
- Enable location services on the device
- Check GPS availability: Some emulators need location simulation
- Clean and rebuild:
flutter clean && flutter pub get && flutter build apk - Check Java version: Must be Java 17+
- Update Gradle: Check
android/gradle/wrapper/gradle-wrapper.properties
MIT License - see LICENSE