4Dev Flutter - Polls for Programmers
![alt text](https://github.com/rmanguinho/clean-flutter-app/raw/master/requirements/assets/course-logo.png)
This application is part of the training of professor Rodrigo Manguinho (Mango) at Udemy.
The objective of the training is to show how to create an application with Flutter using a well-defined and decoupled architecture, following TDD (test-oriented programming) as the working methodology, Clean Architecture to do the distribution of responsibilities in layers, always following the principles of SOLID and applying Design Patterns to solve some common problems.
Principles
- Single Responsibility Principle (SRP)
- Open Closed Principle (OCP)
- Liskov Substitution Principle (LSP)
- Segregation Principle Interface (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 and Assert)
Methodologies and Designs
- TDD
- BDD
- Clean Architecture
- Reactive Programming
- GitFlow
- Modular Design
- Dependency Diagrams
- Use Cases
Libraries and Tools
- Flutter
- Http
- Provider
- GetX
- Equatable
- Mockito
- Faker
- Goal
- Git
- Flutter Secure Storage
- LocalStorage
- i18n
- Image Test Utils
Dart / Flutter Features
- Classes
- Abstract Classes
- Functions
- Constants
- Mixins
- Enums
- Exceptions
- Futures
- Streams
- Constructors
- Async / Await
- Stateless Widgets
- Stateful Widgets
- Material Theme
- Assets
- App Icon
Testing Features
- Unitary tests
- Widget testing
- Streams tests
- Integration Tests
- Test Coverage
- Test Doubles
- Mocks
- Stubs
- Spies
Download Details:
Author: rmanguinho
Demo: https://rmanguinho.github.io/
Source Code: https://github.com/rmanguinho/clean-flutter-app
#flutter #dart #mobile-apps