Skip to content

Files

Latest commit

f5d27d9 · Feb 16, 2025

History

History
64 lines (46 loc) · 1.99 KB

README.md

File metadata and controls

64 lines (46 loc) · 1.99 KB

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