namanh11611/flutter_mvvm_riverpod
Um projeto base do Flutter com arquitetura MVVM e gerenciamento de estado Riverpod.
- Stars
- 342
- Forks
- 119
- Último push (UTC)
- 20 de jul. de 2026
- Status do projeto
- Ativo
LinguagensDartC++CMakeSwiftRubyCHTMLKotlinObjective-C
Tópicos técnicos
Dependências usadas
Lista de dependências 51 itens
- flutter
{"sdk":"flutter"} - cached_network_image
^3.4.1 - collection
^1.19.0 - connectivity_plus
^7.0.0 - cupertino_icons
^1.0.6 - dio
^5.9.0 - easy_localization
^3.0.7 - envied
^1.1.1 - equatable
^2.0.5 - firebase_analytics
^11.3.6 - firebase_core
^3.8.1 - firebase_crashlytics
^4.2.0 - flutter_riverpod
^2.6.1 - flutter_svg
^2.2.1 - freezed_annotation
^3.0.0 - go_router
^16.2.4 - google_fonts
^6.3.2 - google_sign_in
^6.3.0 - hugeicons
^0.0.11 - image_picker
^1.2.0 - in_app_purchase
^3.2.3 - in_app_update
^4.2.5 - json_annotation
^4.9.0 - lottie
^3.3.2 - ming_cute_icons
^0.0.7 - package_info_plus
^9.0.0 - path
^1.9.0 - path_provider
^2.1.5 - permission_handler
^12.0.1 - persistent_bottom_nav_bar
^6.2.1 - pinput
^5.0.2 - purchases_flutter
^9.9.2 - riverpod_annotation
^2.6.1 - shared_preferences
^2.5.3 - shimmer
^3.0.0 - sign_in_with_apple
^7.0.1 - sqflite
^2.4.2 - supabase_flutter
^2.10.3 - url_launcher
^6.3.2 - uuid
^4.4.0 - build_runnerDesenvolvimento
^2.4.13 - change_app_package_nameDesenvolvimento
^1.5.0 - custom_lintDesenvolvimento
^0.7.5 - envied_generatorDesenvolvimento
^1.1.1 - flutter_lintsDesenvolvimento
^6.0.0 - flutter_testDesenvolvimento
{"sdk":"flutter"} - freezedDesenvolvimento
^3.0.0 - json_serializableDesenvolvimento
^6.9.5 - riverpod_generatorDesenvolvimento
^2.6.4 - riverpod_lintDesenvolvimento
^2.6.4 - testDesenvolvimento
^1.25.8
Rankings
README original
Texto original em inglês. Visite o GitHub para a versão atual.
Expandir / recolher README
Flutter MVVM Riverpod Starter
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.
🎯 Features
- 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
- In-App Purchases: RevenueCat integration for subscriptions and purchases
📚 Libraries & Tools
| 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 | |
sqflite |
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 | |
purchases_flutter |
RevenueCat integration |
🏗 Project Structure
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/
│ ├── premium/
├── routing/ # Route configurations
├── theme/ # Theme configurations
└── utils/ # Utility functions
🚀 Getting Started
-
Clone this repository
git clone https://github.com/namanh11611/flutter_mvvm_riverpod.git -
Install dependencies
flutter pub get -
Generate localization files
dart run easy_localization:generate -f keys -o locale_keys.g.dart --source-dir assets/translations -
Generate code
dart run build_runner build --delete-conflicting-outputs -
Change the app information
- To change the app package name, run the following command:
dart run change_app_package_name:main com.new.package.name- To change the Android app name, open the
android/app/src/main/AndroidManifest.xmlfile, change theandroid:label="New App Name" - To change the iOS app name, open the
ios/Runner/Info.plistfile, change theCFBundleDisplayNametoNew App Name - To change the iOS bundle name, open the
ios/Runner/Info.plistfile, change theCFBundleNametonew_bundle_name
-
Run the app
flutter run
📱 Screenshots
| Light Hero | Light Profile | Dark Hero | Dark Profile |
|---|---|---|---|
| Hero Light | Profile Light | Hero Dark | Profile Dark |
🤝 Contributing
Contributions, issues, and feature requests are welcome!
📝 License
This project is licensed under the MIT License - see the LICENSE file for details.