A comprehen## 📁 Project Structure
spendtracker/
├── android/ # Android-specific configuration
├── ios/ # iOS-specific configuration
├── lib/
│ ├── core/ # Core utilities and services
│ │ └── utils/ # Utility classes (currency formatter, etc.)
│ ├── presentation/ # UI screens and widgets
│ │ ├── add_expense/ # Add expense screen
│ │ ├── budget_management/ # Budget management features
│ │ ├── dashboard/ # Main dashboard
│ │ ├── expense_list/ # List of expenses
│ │ ├── profile_settings/ # User settings
│ │ ├── reports/ # Analytics and reports
│ │ └── statement_upload/ # Excel statement import
│ ├── routes/ # Application routing
│ ├── theme/ # Theme configuration
│ ├── widgets/ # Reusable UI components
│ └── main.dart # Application entry point
├── assets/ # Static assets (images)
└── pubspec.yaml # Project dependenciesing application built with Flutter, designed to help users manage their finances effectively with features like expense tracking, budget management, and bank statement imports.
## 📋 Prerequisites
- Flutter SDK (^3.6.0)
- Dart SDK
- Android Studio / VS Code with Flutter extensions
- Android SDK / Xcode (for iOS development)
## 🚀 Key Features
- **Expense Tracking**: Record and manage daily expenses
- **Budget Management**: Set and track budgets for different categories
- **Statement Import**: Import transactions from Excel bank statements
- **Reports & Analytics**: Visual representation of spending patterns
- **Profile Settings**: Customize app settings and preferences
## 🛠️ Installation
1. Install dependencies:
```bash
flutter pub get
- Run the application:
flutter runflutter_app/
├── android/ # Android-specific configuration
├── ios/ # iOS-specific configuration
├── lib/
│ ├── core/ # Core utilities and services
│ │ └── utils/ # Utility classes
│ ├── presentation/ # UI screens and widgets
│ │ └── splash_screen/ # Splash screen implementation
│ ├── routes/ # Application routing
│ ├── theme/ # Theme configuration
│ ├── widgets/ # Reusable UI components
│ └── main.dart # Application entry point
├── assets/ # Static assets (images, fonts, etc.)
├── pubspec.yaml # Project dependencies and configuration
└── README.md # Project documentation
The app supports importing bank statements in Excel format:
- File types: .xlsx, .xls
- Required columns:
- Sr. No
- Transaction Date
- Particulars/Description
- Debit Amount
- Credit Amount
- Navigate to Profile Settings
- Select "Statement Import"
- Choose your Excel file
- The app will automatically process and categorize transactions
- CustomAppBar: Consistent navigation header
- CustomBottomBar: Navigation bar with icons
- CustomTabBar: Tab navigation for different sections
- CustomErrorWidget: Error state handling
- CustomImageWidget: Image loading and display
Built with responsive design using the Sizer package:
// Example of responsive sizing
Container(
width: 50.w, // 50% of screen width
height: 20.h, // 20% of screen height
)Key packages used:
file_picker: ^10.3.2- For Excel file selectionexcel: ^4.0.0- Excel file processingfl_chart: ^0.65.0- Charts and graphscamera: ^0.10.5+5- Camera functionalityimage_picker: ^1.0.4- Image selectionpath_provider: ^2.1.2- File system access
Build the application for production:
# For Android
flutter build apk --release
# For iOS
flutter build ios --releaseThe app requires the following permissions:
- Camera access (for receipt photos)
- Storage access (for Excel file import)
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request flutter build apk --release
flutter build ios --release
## 🙏 Acknowledgments
- Powered by [Flutter](https://flutter.dev) & [Dart](https://dart.dev)
- Styled with Material Design
Built with ❤️ on Rocket.new