# flutterando/modular

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/flutterando-modular).**

1,381 stars · 275 forks · Dart · NOASSERTION

## Links

- GitHub: https://github.com/Flutterando/modular
- Homepage: https://pub.dev/packages/flutter_modular
- awesome-repositories: https://awesome-repositories.com/repository/flutterando-modular.md

## Description

Modular is a framework for the Flutter ecosystem that provides a structured approach to application architecture through module-based dependency injection and navigation management. It enables developers to organize complex codebases into independent, decoupled units, facilitating the management of shared services and object lifecycles within specific application scopes.

The framework distinguishes itself by offering hierarchical dependency scoping and lazy resolution, which allow for the automatic creation and disposal of objects based on the active module or page lifecycle. It also features a navigation system that utilizes path-based mapping and middleware to intercept route transitions, enabling the implementation of access control and conditional redirection logic.

Beyond its core architecture, the project provides tools for managing navigation across modular boundaries, supporting dynamic parameters and nested hierarchies. These capabilities ensure that application logic remains organized and memory usage is optimized through automated lifecycle management.

## Tags

### Software Engineering & Architecture

- [Dependency Injection Frameworks](https://awesome-repositories.com/f/software-engineering-architecture/dependency-injection-frameworks.md) — Implements inversion of control to manage component dependencies and modular architecture in Flutter.
- [Module-Level Injection](https://awesome-repositories.com/f/software-engineering-architecture/dependency-injection-containers/module-level-injection.md) — Wires entire modules to a container to inject dependencies into internal functions without manual passing.
- [Mobile App Architectures](https://awesome-repositories.com/f/software-engineering-architecture/mobile-app-architectures.md) — Provides architectural patterns for organizing complex mobile codebases into independent, decoupled units.
- [Application Modules](https://awesome-repositories.com/f/software-engineering-architecture/modular-program-composition/modular-business-logic-compositions/application-modules.md) — Groups related routes and dependency injection into independent units to decouple application logic. ([source](https://github.com/flutterando/modular#readme))
- [Nested Navigation Routers](https://awesome-repositories.com/f/software-engineering-architecture/nested-navigation-routers.md) — Allows navigation routers to be nested within other controllers to create hierarchical screen flows.

### Part of an Awesome List

- [Dependency Injection](https://awesome-repositories.com/f/awesome-lists/devtools/dependency-injection.md) — Manages object lifecycles and dependency wiring within the Flutter ecosystem.
- [Routing and Navigation](https://awesome-repositories.com/f/awesome-lists/devtools/routing-and-navigation.md) — Configures structured screen transitions and URL-like routing paths for mobile applications. ([source](https://github.com/flutterando/modular#readme))

### Data & Databases

- [Dependency Lifecycle Management](https://awesome-repositories.com/f/data-databases/resource-management/resource-lifecycle-managers/dependency-lifecycle-management.md) — Manages the acquisition and release phases of dependencies to ensure resources are properly cleaned up. ([source](https://github.com/flutterando/modular#readme))

### Development Tools & Productivity

- [Lazy Providers](https://awesome-repositories.com/f/development-tools-productivity/dependency-resolution/lazy-providers.md) — Defers object instantiation until the moment of request to optimize application startup time and memory usage.

### DevOps & Infrastructure

- [Hierarchical Scopes](https://awesome-repositories.com/f/devops-infrastructure/dependency-management/environment-scoping-controls/dependency-scoping/hierarchical-scopes.md) — Organizes dependency containers in a tree structure where child modules inherit services from parent ancestors.

### Mobile Development

- [Mobile Application State Management](https://awesome-repositories.com/f/mobile-development/mobile-application-state-management.md) — Coordinates data flow and state persistence within mobile applications.

### Programming Languages & Runtimes

- [Component-Based Module Organizations](https://awesome-repositories.com/f/programming-languages-runtimes/module-organization/component-based-module-organizations.md) — Organizes application code into self-contained modules that encapsulate logic, templates, and routing for improved maintainability.

### Security & Cryptography

- [Route-Based Access Restrictions](https://awesome-repositories.com/f/security-cryptography/domain-access-restrictions/request-access-restrictions/resource-access-restrictions/route-based-access-restrictions.md) — Enforces authentication requirements based on URL patterns to restrict route access. ([source](https://modular.flutterando.com.br/docs/intro))
- [Navigation Access Controls](https://awesome-repositories.com/f/security-cryptography/identity-access-management/access-control/access-control-models/permission-based-security/access-control-policies/navigation-access-controls.md) — Restricts access to specific application views or routes based on user permissions.

### User Interface & Experience

- [Navigation Routing](https://awesome-repositories.com/f/user-interface-experience/navigation-routing.md) — Defines and manages application navigation paths within isolated modules. ([source](https://modular.flutterando.com.br/))
- [Scoped Dependency Injection](https://awesome-repositories.com/f/user-interface-experience/state-injection-patterns/scoped-dependency-injection.md) — Injects specific values into a scope to allow independent state instances and lifecycle management. ([source](https://modular.flutterando.com.br/docs/intro))

### Web Development

- [Navigation Middleware](https://awesome-repositories.com/f/web-development/browser-navigation-utilities/navigation-hooks/navigation-middleware.md) — Provides asynchronous middleware pipelines that intercept and validate navigation transitions for redirection and access control.
- [Path-Based Routing](https://awesome-repositories.com/f/web-development/url-generators/url-path-formatters/file-path-to-url-converters/path-based-routing.md) — Maps navigation requests to structured URL-like paths that support dynamic parameters and nested hierarchies.
