Skip to content

πŸš€ Production-ready Flutter starter template with Riverpod, GoRouter, clean architecture & Material 3. Features auth, dashboard, i18n, responsive design, error handling & more. Perfect for bootstrapping new apps!

License

Notifications You must be signed in to change notification settings

momentous-developments/flutter-starter-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Flutter Starter App

A modern, production-ready Flutter starter template with best practices, clean architecture, and essential features pre-configured. Perfect for quickly bootstrapping new Flutter projects with a solid foundation.

🌐 Live Demo

Check out the live demo: https://flutter-material3-starter.web.app

πŸš€ Features

Core Architecture

  • Clean Architecture: Organized code structure with separation of concerns
  • State Management: Riverpod 2.0 with code generation support
  • Routing: GoRouter for declarative navigation
  • Dependency Injection: Built-in with Riverpod
  • Error Handling: Comprehensive error boundary and error widgets

UI/UX Features

  • Responsive Design: Adaptive layouts for mobile, tablet, and desktop
  • Theme System: Material 3 with light/dark mode support
  • Internationalization: Multi-language support (EN, ES, FR)
  • Animations: Smooth transitions with flutter_animate
  • Loading States: Skeleton screens and shimmer effects
  • Custom Components: Reusable UI components library

Built-in Pages

  • Authentication: Login and registration flows
  • Dashboard: Stats, charts, and activity feeds
  • User Management: CRUD operations with data tables
  • Settings: Theme and language preferences
  • Onboarding: First-time user experience
  • Error Pages: 404, error boundaries, and fallbacks

Development Features

  • Mock API Service: Development without backend
  • Form Validation: Comprehensive form handling
  • File Upload: Drag-and-drop file upload widget
  • Search: Integrated search functionality
  • Notifications: In-app notification system

πŸ“‹ Prerequisites

  • Flutter SDK (3.0 or higher)
  • Dart SDK (3.0 or higher)
  • IDE with Flutter support (VS Code, Android Studio, IntelliJ)

πŸ› οΈ Installation

  1. Clone the repository
git clone https://github.com/momentous-developments/flutter-starter-app.git
cd flutter-starter-app
  1. Install dependencies
flutter pub get
  1. Run build runner (for code generation)
dart run build_runner build --delete-conflicting-outputs
  1. Run the app
flutter run

πŸ“± Supported Platforms

  • βœ… iOS
  • βœ… Android
  • βœ… Web
  • βœ… macOS
  • βœ… Windows
  • βœ… Linux

πŸ—οΈ Project Structure

lib/
β”œβ”€β”€ core/                      # Core functionality
β”‚   β”œβ”€β”€ constants/            # App constants
β”‚   β”œβ”€β”€ error/               # Error handling
β”‚   β”œβ”€β”€ models/              # Core data models
β”‚   β”œβ”€β”€ providers/           # Global providers
β”‚   β”œβ”€β”€ router/              # Navigation setup
β”‚   β”œβ”€β”€ services/            # Core services
β”‚   └── theme/               # Theme configuration
β”œβ”€β”€ features/                 # Feature modules
β”‚   β”œβ”€β”€ auth/                # Authentication
β”‚   β”œβ”€β”€ dashboard/           # Dashboard
β”‚   β”œβ”€β”€ forms/               # Forms examples
β”‚   β”œβ”€β”€ home/                # Home & showcases
β”‚   β”œβ”€β”€ notifications/       # Notifications
β”‚   β”œβ”€β”€ onboarding/          # Onboarding flow
β”‚   β”œβ”€β”€ settings/            # App settings
β”‚   └── users/               # User management
β”œβ”€β”€ l10n/                     # Localization files
β”œβ”€β”€ shared/                   # Shared components
β”‚   β”œβ”€β”€ providers/           # Shared providers
β”‚   └── widgets/             # Reusable widgets
└── main.dart                # App entry point

🎨 Customization

Theming

Edit lib/core/theme/app_theme.dart to customize:

  • Color schemes
  • Typography
  • Component themes
  • Light/dark mode settings

Adding New Features

  1. Create a new folder in lib/features/
  2. Follow the existing structure:
    • data/ - Repositories and data sources
    • presentation/ - UI components
      • pages/ - Screen widgets
      • widgets/ - Feature-specific widgets
      • providers/ - Feature state management

Localization

  1. Add translations to lib/l10n/app_*.arb files
  2. Run flutter gen-l10n to generate code

πŸ§ͺ Testing

# Run all tests
flutter test

# Run with coverage
flutter test --coverage

# Generate coverage report
genhtml coverage/lcov.info -o coverage/html

πŸ“¦ Building for Production

Web

flutter build web --release

Android

flutter build apk --release
# or
flutter build appbundle --release

iOS

flutter build ios --release

Desktop

flutter build macos --release
flutter build windows --release
flutter build linux --release

πŸ”§ Configuration

Environment Setup

Create .env files for different environments:

  • .env.development
  • .env.staging
  • .env.production

API Configuration

Update lib/core/services/mock_api_service.dart with your API endpoints.

πŸ“š Key Dependencies

  • State Management: flutter_riverpod, riverpod_annotation
  • Navigation: go_router
  • UI/UX: flutter_animate, flex_color_scheme
  • Utilities: intl, shared_preferences, cached_network_image
  • Development: freezed, json_serializable, build_runner

🀝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ™ Acknowledgments

  • Flutter team for the amazing framework
  • Riverpod for powerful state management
  • The Flutter community for inspiration and packages

About

πŸš€ Production-ready Flutter starter template with Riverpod, GoRouter, clean architecture & Material 3. Features auth, dashboard, i18n, responsive design, error handling & more. Perfect for bootstrapping new apps!

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published