Skip to content

Latest commit

 

History

History
106 lines (91 loc) · 2.45 KB

File metadata and controls

106 lines (91 loc) · 2.45 KB

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