Prerequisites
Before you begin, ensure you have the following installed on your development machine:Flutter SDK
Version 3.5.4 or higher
Dart SDK
Included with Flutter
Android Studio
For Android development and emulators
Git
For cloning the repository
Environment Setup
Install Flutter
Verify Installation
Run Flutter doctor to check your installation:This will check your environment and display a report of the status of your Flutter installation.
System Requirements
- Android
- iOS
- Min SDK: 21 (Android 5.0 Lollipop)
- Target SDK: Latest
- Android Studio: Arctic Fox or newer
- Build Tools: Latest version
Clone the Repository
Install Dependencies
Get Flutter Packages
Install all Flutter dependencies:This will download all packages specified in
pubspec.yaml.Run Code Generation (if needed)
Some dependencies like Hive require code generation:
This step is only needed if you modify Hive models or other generated code.
Build the Application
Development Build
- Android
- iOS
Production Build
- Android APK
- Android App Bundle
- iOS
Build a release APK:The APK will be available at:
For a smaller APK, build split APKs per ABI:
Configuration
App Icon
The app uses adaptive icons for Android. Icon assets are located in:pubspec.yaml
Assets
App assets are defined inpubspec.yaml:
pubspec.yaml
Troubleshooting
Build fails with 'SDK not found'
Build fails with 'SDK not found'
Run Make sure Android SDK and platform tools are properly configured.
flutter doctor and ensure all required SDKs are installed:Gradle build errors
Gradle build errors
Clean and rebuild the project:
CocoaPods errors (iOS)
CocoaPods errors (iOS)
Update CocoaPods and reinstall:
Git submodule errors
Git submodule errors
Some dependencies use git repositories. Ensure git is configured:
Permission errors on Android
Permission errors on Android
The app requires storage permissions for downloads. Ensure permissions are granted in device settings or use:
Development Tools
Recommended VS Code Extensions
Flutter
Official Flutter extension for VS Code
Dart
Official Dart language support
Bloc
BLoC snippets and utilities
Pubspec Assist
Easy package management
Debugging
Performance Optimization
Profile Build
To analyze performance, build in profile mode:Analyze Code
Run static analysis to find potential issues:Next Steps
Architecture
Understand the app architecture
State Management
Learn about BLoC and Provider patterns
Contributing
Start contributing to the project