rmanguinho/clean-flutter-app
Aplicativo feito em Flutter usando TDD, Clean Architecture, Design Patterns e princípios SOLID
- Stars
- 588
- Forks
- 169
- Último push (UTC)
- 9 de set. de 2026
- Status do projeto
- Ativo
LinguagensDartGherkinRubySwiftKotlinObjective-C
Tópicos técnicos
Dependências usadas
Lista de dependências 16 itens
- flutter
{"sdk":"flutter"} - cupertino_icons
1.0.3 - http
0.13.3 - provider
6.0.1 - equatable
2.0.3 - get
4.3.8 - flutter_secure_storage
4.2.1 - localstorage
4.0.0+1 - carousel_slider
4.0.0 - intl
0.17.0 - flutter_testDesenvolvimento
{"sdk":"flutter"} - flutter_launcher_iconsDesenvolvimento
0.9.2 - testDesenvolvimento
1.17.10 - mocktailDesenvolvimento
0.1.4 - fakerDesenvolvimento
2.0.0 - network_image_mockDesenvolvimento
2.0.1
Rankings
README original
Texto original em inglês. Visite o GitHub para a versão atual.
Expandir / recolher README
GPLv3 License Open Source Dart Version Flutter Version Null Safety
4Dev Flutter - Enquetes para Programadores
Link para o curso completo
Essa aplicativo faz parte do treinamento do professor Rodrigo Manguinho (Mango) na Udemy.
O objetivo do treinamento é mostrar como criar um aplicativo com Flutter usando uma arquitetura bem definida e desacoplada, seguindo TDD (programação orientada a testes) como metodologia de trabalho, Clean Architecture para fazer a distribuição de responsabilidades em camadas, sempre seguindo os princípios do SOLID e aplicando Design Patterns para resolver alguns problemas comuns.
Contribua com esse Projeto <3
Link para a documentação da API
Princípios
- Single Responsibility Principle (SRP)
- Open Closed Principle (OCP)
- Liskov Substitution Principle (LSP)
- Interface Segregation Principle (ISP)
- Dependency Inversion Principle (DIP)
- Separation of Concerns (SOC)
- Don't Repeat Yourself (DRY)
- You Aren't Gonna Need It (YAGNI)
- Keep It Simple, Silly (KISS)
- Command Query Responsibility Segregation (CQRS)
- Composition Over Inheritance
- Small Commits
Design Patterns
- Factory
- Adapter
- Composite
- Decorator
- Dependency Injection
- Abstract Server
- Composition Root
- Builder
- Singleton
- Observer
- Strategy
- AAA (Arrange, Act, Assert)
Metodologias e Designs
- TDD
- BDD
- Clean Architecture
- Reactive Programming
- GitFlow
- Modular Design
- Dependency Diagrams
- Use Cases
Bibliotecas e Ferramentas
- Flutter
- Flutter Version Management
- Http
- Provider
- GetX
- Equatable
- Mockito
- Mocktail
- Faker
- Meta
- Git
- Flutter Secure Storage
- LocalStorage
- i18n
- Image Test Utils
- Network Image Mock
Features do Dart/Flutter
- Null Safety
- Classes
- Abstract Classes
- Functions
- Constants
- Mixins
- Extensions
- Enums
- Exceptions
- Futures
- Streams
- Constructors
- Async/Await
- Stateless Widgets
- Stateful Widgets
- Material Theme
- Assets
- App Icon
Features de Testes
- Testes Unitários
- Testes de Widgets
- Testes de Streams
- Testes de Integração
- Cobertura de Testes
- Test Doubles
- Mocks
- Stubs
- Spies