Create a complete Flutter project template named nova_launch
with a secure, performant, modular, and easy-to-understand folder structure. Follow best practices for folder naming, separation of concerns, and scalability.
Folder Structure (Best Practices):
Packages to Include in pubspec.yaml:
google_fonts
, intl
, cupertino_icons
, flutter_svg
, lottie
, auto_size_text
get
, flutter_bloc
, riverpod
, provider
geolocator
, google_maps_flutter
go_router
get_ithttp
, dio
, graphql
flutter_secure_storage
, encrypt
, pointycastle
, local_auth
, flutter_jailbreak_detection
, flutter_windowmanager
firebase_messaging
, flutter_local_notifications
firebase_analytics
, firebase_crashlytics
shared_preferences
, hive
, hive_flutter
, path_provider
shimmer
, sizer
, dropdown_button2
, flutter_rating_bar
, smooth_page_indicator
, flutter_screenutil
image_picker
, file_picker
, qr_code_scanner
, qr
permission_handler
connectivity_plus
, internet_connection_checker
uuid
, device_info_plus
, url_launcher
, package_info_plus
, pay
, flutter_stripe
, share_plus
, socket_io_client
, nfc_manager
flutter_test
, flutter_lints
Additional Considerations:
flutter_localizations
)Riverpod
, Bloc
, and GetX
as examples in separate screensOutput should include the full project structure with sample files for at least:
I'll create a complete Flutter project template named nova_launch
with a secure, performant, and modular structure following best practices.
pubspec.yaml
lib/main.dart
lib/core/config/app_config.dart
lib/core/config/dependency_injection.dart
lib/core/network/dio_client.dart
lib/core/network/interceptors/auth_interceptor.dart
lib/core/network/interceptors/error_interceptor.dart
lib/core/network/interceptors/logging_interceptor.dart
lib/core/errors/app_exception.dart
lib/core/security/security_manager.dart
lib/core/security/encryption_service.dart
lib/data/models/user_model.dart
lib/data/datasources/local/hive_service.dart
lib/data/datasources/remote/api_client.dart
lib/domain/entities/user_entity.dart
lib/domain/repositories/auth_repository.dart
lib/domain/usecases/login_usecase.dart
lib/domain/usecases/logout_usecase.dart
lib/data/repositories/auth_repository_impl.dart
lib/data/repositories/user_repository_impl.dart
lib/domain/repositories/user_repository.dart
lib/presentation/theme/app_theme.dart
lib/presentation/theme/app_colors.dart
lib/presentation/routes/app_routes.dart
lib/presentation/screens/auth/login_screen.dart
lib/presentation/widgets/common/custom_button.dart
lib/presentation/widgets/common/custom_text_field.dart
lib/presentation/widgets/common/loading_widget.dart
lib/services/local_auth/biometric_service.dart
lib/services/notifications/notification_service.dart
lib/presentation/screens/home/home_screen.dart
lib/presentation/screens/examples/bloc_example_screen.dart
lib/presentation/screens/examples/riverpod_example_screen.dart
lib/presentation/screens/examples/getx_example_screen.dart
lib/presentation/screens/profile/profile_screen.dart
lib/presentation/screens/settings/settings_screen.dart
l10n.yaml
lib/l10n/app_en.arb
lib/l10n/app_es.arb
lib/generated/l10n.dart
This complete Flutter project template nova_launch
provides:
The template includes working examples of login with biometric authentication, API calls with Dio, local storage with Hive, and demonstrates all three state management approaches. It's production-ready with security best practices and scalable architecture.