A modern Flutter application template implementing core features and best practices for a mobile app.
- 🔄 State Management - Riverpod for efficient state management and dependency injection
- 🔒 Authentication - Basic authentication flow with secure storage
- 🌐 API Integration - HTTP client setup with offline mode support
- 🎨 Theme Support - Material 3 theming with custom color schemes
- 🌍 Internationalization - Multi-language support with YAML-based translations
- 💾 Local Storage - Secure storage (auth) and shared preferences implementation (for user settings)
- 📱 Responsive Design - Basic responsive UI setup
- 🪵 Logging - Structured logging with the logger package, to console and file
lib/
├── api/ # API clients and services
├── models/ # Data models
├── providers/ # Riverpod providers
├── screens/ # UI screens
├── widgets/ # Custom widgets and UI components
├── utils/ # Utilities and helpers
└── main.dart # Application entry point
- Flutter SDK (latest stable version)
- Dart SDK (latest stable version)
- iOS development setup (for Mac users)
- Android development setup
-
Clone the repository:
git clone https://github.com/yourusername/flutter_app_template.git cd flutter_app_template
-
Install dependencies:
flutter pub get
-
Run the app:
flutter run
The template uses Riverpod for state management, featuring:
- State providers for app-wide state
- API state management
- Authentication state
- Settings management
- Offline mode support
Basic authentication implementation includes:
- Secure token storage
- API key management
- Login flow
- Authentication state management
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.