Skip to content

A modern Flutter template built on MVVM, featuring Firebase authentication, localization, and flexible state management with BLoC and Riverpod.

License

Notifications You must be signed in to change notification settings

FlutterWiz/bare_bones_flutter

Repository files navigation

bare_bones_flutter

A Flutter project that serves as a template with essential features for building a robust mobile application.

✨ Features

  • Localization
    Supports multiple languages to cater to a global audience.
  • MVVM Architecture
    Follows the Model-View-ViewModel architecture for a clean and maintainable codebase.
  • Authentication Pages
    Includes Sign In and Sign Up pages with text form fields validated using regular expressions.
  • Navigation
    Utilizes go_router for navigation and shell_route for nested routing.
  • Main Branch
    No state management, providing the most general case. No ViewModel since there is no functionality yet.
  • Firebase Integration
    • Functional Sign In, Sign Out, and Sign Up using Firebase.
    • Built on top of the main branch's features.
    • Incorporates BLoC and Riverpod for state management.

🌿 Branches

  • main
    Basic template with the features listed above. No state management or ViewModel.
  • bloc
    Extends the main branch with Firebase integration (using BLoC) and additional authentication functionalities.
  • riverpod
    Extends the main branch with Firebase integration (using Riverpod) and additional authentication functionalities.

🚀 Getting Started

To get started with this project, clone the repository and switch to your desired branch.

📁 Project Structure

The project follows a modular structure with a focus on separation of concerns:

lib/
├─ core/
│  ├─ config/
│  ├─ constants/
│  ├─ di/
│  ├─ init/
├─ presentation/
│  ├─ design_system/
│  ├─ l10n/
│  ├─ views/
├─ main.dart

🛠 Makefile

The project includes a Makefile to manage tasks such as generating localization files and cleaning the project.

Generate the localization files

make localization

About

A modern Flutter template built on MVVM, featuring Firebase authentication, localization, and flexible state management with BLoC and Riverpod.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages