- Build with Riverpod, GoRouter, and Dio
- Clean and scalable structure
- Theme ready
- Supports code generation
- Splash screens, launcher icon, and import sort
- Edit files inside of
lib\app\theme
folder for custom theme colors after manually configuring fonts - Add new routes in
\lib\core\router.dart
file - Add new services in
\lib\core\services
folder (notifications, url launcher, etc.) - Add utils in
\lib\core\utils
folder
Features follow this structure:
auth
│ ├───data
│ │ │ auth_repository.dart
│ │ │ user_profile_cache.dart
│ │ │
│ │ └───models
│ │ auth_requests.dart
│ │ auth_requests.freezed.dart
│ │ auth_requests.g.dart
│ │ user.dart
│ │ user.freezed.dart
│ │ user.g.dart
│ │
│ └───providers
│ auth_providers.dart
│ auth_providers.g.dart
For code generation:
dart run build_runner watch --delete-conflicting-outputs
OR
dart run build_runner build --delete-conflicting-outputs
For splash screen:
dart run flutter_native_splash:create --path=flutter_native_splash.yaml
For launcher icon:
dart run flutter_launcher_icons
- This project uses
flutter_native_spash
package, thus ndkVersion is set to 27 (build.gradle.kts) - Edit lines with "TODO" comments
- No firebase connected, so you have to manually add FCM for notifications