/clean-react

Primary LanguageTypeScript

Clean React

O objetivo é criar um sistema em ReactJs utilizando Hooks, Recoil, com uma arquitetura bem definida e desacoplada, utilizando 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, DRY, YAGNI, KISS e aplicando Design Patterns para resolver alguns problemas comuns.

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)
  • Composition Over Inheritance
  • Small Commits

Design Patterns

  • Factory
  • Adapter
  • Composite
  • Decorator
  • Dependency Injection
  • Composition Root
  • Builder
  • Proxy

Metodologias e Designs

  • TDD
  • Clean Architecture
  • DDD
  • Reactive Programming
  • Responsive Layout
  • Conventional Commits
  • GitFlow
  • Modular Design
  • Dependency Diagrams
  • Use Cases
  • Continuous Integration
  • Continuous Delivery
  • Continuous Deployment

Bibliotecas e Ferramentas

  • Typescript
  • React
  • Recoil
  • React Testing Library
  • React Router DOM
  • Cypress
  • Jest
  • Axios
  • Git
  • Webpack
  • Styled Components
  • NPM
  • Faker
  • Husky
  • Lint Staged
  • Eslint
  • Standard Javascript Style