FinLog is a Flutter-based mobile application for personal finance management and expense tracking. It features AI-powered journaling using Gemini API, manual transaction logging, receipt scanning capabilities, and comprehensive data visualization.
- Manual Transaction Logging - Add income and expenses with custom categories
- AI-Powered Journaling - Natural language transaction entry via Gemini API
- Receipt Scanning - Extract transaction data from receipt images (Gemini API)
- Transaction History - View and manage all your financial records
- Smart Categorization - Automatic expense categorization
- AI Insights - Get intelligent financial insights and recommendations Coming soon
- Data Visualization - Charts and graphs for spending analysis
- User Profile Management - Customizable profiles with API key configuration
- Local Storage - Secure offline data storage with Hive
- Framework: Flutter
- State Management: Provider
- Local Database: Hive
- AI Integration: Gemini API
- Environment Config: flutter_dotenv
π± Download Latest Version (v1.2.11+28)
- Flutter SDK installed and configured
- Gemini API Key from Google AI Studio
- Android Studio, VS Code, or preferred IDE
- Physical device or emulator for testing
-
Clone and Setup
git clone https://github.com/Apps-FinLog/FinLog.git cd FinLog flutter pub get -
Environment Configuration
Create a
.envfile in the project root:GEMINI_API_KEY=your_actual_api_key_here
β οΈ Security: Never commit your.envfile. Ensure it's in.gitignore. -
Verify Setup
flutter doctor
-
Run the App
flutter run
Android APK:
flutter build apk --releaseOutput: build/app/outputs/flutter-apk/app-release.apk
App Bundle (Play Store):
flutter build appbundleConfigure your Gemini API key in one of two ways:
- Environment file (recommended for development) - Add to
.envfile - In-app setup - Configure in the app's profile section after first launch
# Hot reload development
flutter run
# Clean build
flutter clean && flutter pub get
# Run tests
flutter test
# Code analysis
flutter analyze- Release Build API Calls: Gemini API may not function in release builds due to configuration or Proguard/R8 settings
- Development Hot Restart: Fresh installs may require hot restart (
R) for Gemini API features to initialize properly
- API key configuration for release builds
- Service initialization timing issues
- API key restrictions in production environments
These issues are actively being addressed. Features relying on Gemini API may be affected.
Flutter not recognized:
flutter doctorAPI Key errors:
- Verify API key in
.envfile - Check permissions in Google AI Studio
- Ensure key hasn't expired
Build failures:
flutter clean
flutter pub get
flutter build apk --releaseFinLog/
βββ .env # Environment variables (not tracked)
βββ lib/ # Main application code
βββ android/ # Android configuration
βββ ios/ # iOS configuration
βββ build/ # Build outputs
βββ pubspec.yaml # Dependencies
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
This project is licensed under the MIT License - see the LICENSE for details.