Skip to content

fhconte/clean-typescript

Repository files navigation

clean-typescript

ReactJS, Hooks, TDD, Clean Architecture, SOLID & Design Patterns Course I'm taking at Udemy, by teacher Manguinho.

The objective of the training is to show how to create a system in ReactJs using the Hooks, with a well-defined and decoupled architecture, using TDD (test driven development) as the work methodology, Clean Architecture to make the distribution of responsibilities in layers, following the principles of SOLID, DRY, YAGNI, KISS and applying Design Patterns to solve 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)
  • Composition Over Inheritance
  • Small Commits

Design Patterns

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

Patterns & Methodologies

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

Libs & Tools

  • Typescript
  • React
  • React Testing Library
  • React Router DOM
  • Cypress
  • Jest
  • Axios
  • Git
  • Webpack
  • SASS + Animations
  • NPM
  • Travis CI
  • Faker
  • Coveralls
  • Husky
  • Lint Staged
  • Eslint
  • Standard Javascript Style
  • React Flip Move

React Features

  • Functional Components
  • UseState
  • UseContext
  • UseEffect
  • UseHistory
  • UseRef
  • UseParams
  • Custom Hooks
  • Router
  • Memo

Git Features

  • Alias
  • Log Personalizado
  • Branch
  • Reset
  • Amend
  • Tag
  • Tag Anotada
  • Stash
  • Rebase
  • Merge
  • Add
  • Commit
  • Push
  • Pull
  • Shortlog
  • Status

Features do Typescript

  • POO Avançado
  • Interface
  • Type Alias
  • Namespace
  • Module
  • Utility Types
  • Modularização de Paths
  • Build
  • Deploy
  • Generics

Features de Testes

  • Testes Unitários
  • Testes de Integração
  • Testes e2e
  • Cobertura de Testes
  • Test Doubles
  • Mocks
  • Stubs
  • Spies
  • Fakes
  • Dummies

About

ReactJS, Hooks, TDD, Clean Architecture, SOLID & Patterns

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published