Skip to content

rubemfsv/ForDevApp-Flutter-Clean-Architecture

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GPLv3 License Open Source Dart Version Flutter Version Null Safety

4Dev Flutter - Polls for Programmers

This application is part of the training of Professor Rodrigo Manguinho (Mango) on 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 a working methodology, Clean Architecture to distribute 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)
  • 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)

Methodologies and Designs

  • TDD
  • BDD
  • Clean Architecture
  • Reactive Programming
  • GitFlow
  • Modular Design
  • Dependency Diagrams
  • Use Cases

Libraries and Tools

  • Flutter
  • Flutter Version Management
  • Http
  • Provider
  • GetX
  • Equatable
  • Mockito
  • Mocktail
  • Faker
  • Meta
  • Git
  • Flutter Secure Storage
  • LocalStorage
  • i18n
  • Image Test Utils
  • Network Image Mock

Dart/Flutter Features

  • 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

Tests Features

  • Unit testing
  • Widgets testing
  • Streams testing
  • Integration testing
  • Test Coverage
  • Test Doubles
  • Mocks
  • Stubs
  • Spies

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published