Skip to content

nxhung2304/flutter-boilerplate-riverpod

Repository files navigation

Flutter Riverpod Boilerplate

A production-ready Flutter boilerplate with Riverpod state management, following clean architecture principles and modern development practices.

Getting Started

Prerequisites

Setup

make setup
make run-dev

Architecture Overview

Data Flow

  Widget → Controller (@riverpod) → Repository → DataSource → API/Storage
      ↑        ↓                      ↑           ↑           ↑
     UI      State              Local+Remote   Dio HTTP   SharedPrefs
          (AsyncValue)          (offline-first) (interceptors)

Project Structure

lib/
├── core/                    # Core infrastructure
│   ├── config/             # App configuration
│   │   ├── router/         # GoRouter setup
│   │   └── localization/   # i18n configuration
│   ├── services/           # Core services
│   │   ├── api_client.dart # HTTP client
│   │   ├── storage_service.dart
│   │   └── interceptors/   # Request interceptors
│   ├── models/             # Shared models
│   ├── exceptions/         # Custom exceptions
│   └── extensions/         # Dart extensions
├── features/               # Feature modules
│   ├── example/            # Example CRUD feature
│   │   ├── data/          # Data layer
│   │   │   ├── models/    # Feature models
│   │   │   ├── datasources/ # Local & remote sources
│   │   │   └── repositories/ # Repository implementation
│   │   └── presentation/   # UI layer
│   │       ├── pages/     # Screen widgets
│   │       ├── controllers/ # Riverpod controllers
│   │       └── widgets/   # Feature widgets
│   └── home/              # Home feature
└── shared/                 # Shared UI components
    ├── widgets/           # Reusable widgets
    ├── theme/            # App theming
    └── strings/          # Shared translations

About

My flutter boilerplate for riverpod

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published