A lightweight Flutter starter template implementing MVVM architecture with Riverpod state management and Supabase backend. Perfect for indie hackers and solo developers looking to quickly bootstrap their projects.
This project was inspired by the Flutter App Architecture Guide and the Starter Architecture for Flutter & Firebase.
- MVVM Architecture: Clean separation of concerns
- Riverpod State Management: Efficient and type-safe state management solution
- Supabase Backend: Ready-to-use backend infrastructure
- Dark/Light Theme: Built-in theme support
- Localization: Multi-language support
- Authentication: Email & Social login ready
- Routing: Declarative routing with go_router
Category | Library | Purpose |
---|---|---|
State Management | ||
flutter_riverpod |
Reactive state management | |
riverpod_annotation |
Code generation for Riverpod | |
Backend & Auth | ||
supabase_flutter |
Backend as a service | |
google_sign_in |
Google authentication | |
sign_in_with_apple |
Apple authentication | |
Navigation | ||
go_router |
Declarative routing | |
Storage | ||
shared_preferences |
Local key-value storage | |
isar |
Local database | |
Network | ||
dio |
HTTP client | |
connectivity_plus |
Network connectivity | |
UI/UX | ||
google_fonts |
Custom fonts | |
flutter_svg |
SVG rendering | |
shimmer |
Loading animations | |
lottie |
Animation files | |
Utilities | ||
easy_localization |
Internationalization | |
envied |
Environment variables | |
uuid |
Unique identifiers | |
Analytics | ||
firebase_analytics |
Usage tracking | |
firebase_crashlytics |
Crash reporting | |
Monetization | ||
in_app_purchase |
In-app purchases |
lib/
├── constants/ # App constants and configurations
├── environment/ # Environment variables and config files
├── extensions/ # Extension methods and helpers
├── features/ # Feature modules
│ ├── common/
│ ├── authentication/
│ ├── home/
│ ├── onboarding/
│ ├── profile/
├── routing/ # Route configurations
├── theme/ # Theme configurations
└── utils/ # Utility functions
-
Clone this repository
git clone https://github.com/namanh11611/flutter_mvvm_riverpod.git
-
Install dependencies
flutter pub get
-
Change the app package name
dart run change_app_package_name:main com.new.package.name
-
Run the app
flutter run
Light Theme | Dark Theme |
---|---|
Contributions, issues, and feature requests are welcome!
This project is licensed under the MIT License - see the LICENSE file for details.