Skip to content

DevOpen-io/naisho-secure-sms-app

Stand With Palestine

Flutter Riverpod Template - 2025 Edition

Modern Flutter Architecture Template with Riverpod

A production-ready Flutter template built with the latest packages and best practices, supporting Flutter 3.32 and above. This template implements clean architecture principles and provides a robust foundation for building scalable applications.


Key Features

  • πŸ—οΈ Clean Architecture with Domain-Driven Design
  • 🎯 Riverpod 2.6+ with code generation
  • πŸ”’ Built-in authentication pack with secure storage (Hive CE + AES-256)
  • 🌐 Type-safe API integration with Dio 5.8+
  • πŸ“± Responsive UI with adaptive widgets
  • 🌍 Internationalization ready with Easy Localization
  • πŸ’Ύ Secure local storage with Hive CE
  • πŸ§ͺ Pre-configured unit testing for authentication and controller logic
  • ⚑ Modern navigation with GoRouter 14.8+
  • πŸ› οΈ Custom linting and devtools configuration

Tech Stack

Core Libraries:

  • State Management: Riverpod 2.6.1, Freezed 3.0.6 (immutable state)
  • Network Layer: Dio 5.8.0, FPDart 1.1.0 for functional error handling
  • Local Storage: Hive CE 2.11.1 with AES-256 encryption
  • UI & Navigation: GoRouter 14.8.0, Google Fonts 6.2.1, Material 3

Developer Tools:

  • Flutter Lints 5.0.0
  • Build Runner, code generation
  • Custom linting rules (lint_rules.yaml)
  • Dart & Flutter DevTools support

Project Structure

lib/
β”œβ”€β”€ common/            # Shared widgets and components
β”œβ”€β”€ config/            # App configuration (theme etc.)
β”œβ”€β”€ constants/         # App-wide constants (endpoints, assets)
β”œβ”€β”€ core/              # Core functionality, network layer
β”œβ”€β”€ features/          # Feature modules (authentication, home, ...)
β”‚   └── authentication/
β”‚       β”œβ”€β”€ data/
β”‚       β”œβ”€β”€ domain/
β”‚       └── presentation/
β”œβ”€β”€ hive/              # Local storage setup and adapters
β”œβ”€β”€ router/            # Navigation & routing
β”œβ”€β”€ utils/             # Utility functions
β”œβ”€β”€ main.dart          # App entry point
└── my_app.dart        # App configuration

Getting Started

Setup

  1. Clone the template:

    git clone https://github.com/Erengun/Flutter-Riverpod-2.0-Template.git my_app
    cd my_app
  2. Install dependencies:

    flutter pub get
  3. Generate code:

    dart run build_runner build --delete-conflicting-outputs
  4. Setup environment:

    cp .env.example .env
  5. Run the app:

    flutter run

Authentication Module

The template includes a complete authentication system with secure credential storage and error handling.

How it works

  • Login & Registration: Uses Dio to POST to /api/login and /api/register endpoints.
  • Credential Caching: Credentials are securely cached in Hive CE using AES-256 encryption, with key derived per-device.
  • State Management: All authentication UI and logic is managed via Riverpod notifiers and state classes.
  • Error Handling: All network and validation errors are surfaced in the UI.
  • Loading State: UI reflects loading and error states for a smooth UX.

Test Credentials

You can test the authentication functionality using these credentials from reqres.in:

Login:

{
    "email": "eve.holt@reqres.in",
    "password": "cityslicka"
}

Register:

{
    "email": "eve.holt@reqres.in",
    "password": "pistol"
}

Example:

@riverpod
class LoginController extends _$LoginController {
  // ... state and logic here
  Future<LoginResponse> login({required String email, required String password}) async {
    // Handles login, error handling, caching, loading state etc.
  }
}

Testing

  • Integrated tests for auth controller logic (test/features/login_controller_test.dart)
  • Run tests with:
    flutter test

Documentation

  • Up-to-date documentation in this README
  • Code comments and examples throughout

Contributing

See our Contributing Guide for details on how to:

  • Set up your development environment
  • Run tests
  • Submit pull requests

License

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


Contact

About

E2E sms cilent written with flutter

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

 

Packages

 
 
 

Contributors