Skip to content

🧹React App using Hooks, Typescript, TDD, Clean Architecture, Design Patterns and SOLID Principles

Notifications You must be signed in to change notification settings

RaFaTEOLI/clean-react

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RaFaTEOLI Coverage Status Known Vulnerabilities js-standard-style GPLv3 License Open Source

4Dev React - Surveys for Developers

alt text


This application was made during a course by Rodrigo Manguinho at Udemy.

The course's objective is to show how to create a system with React, using the latest technologies, such as Hooks, Recoil and a well defined architecture and also decoupled, using TDD for testing, Clean Architecture to organize the code and distribute the responsability across layers, always following the best design patterns and practices such as SOLID, DRY, YAGNI, KISS.

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
  • Composition Root
  • Builder
  • Proxy

Methodologies and Designs

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

Libraries and Tools

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

React Features

  • Functional Components
  • UseState
  • UseContext
  • UseEffect
  • UseHistory
  • UseRef
  • UseParams
  • Custom Hooks
  • UseRecoilState
  • UseResetRecoilState
  • UseRecoilValue
  • UseRecoilSetState
  • Atom
  • Router
  • Memo

Git Features

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

Typescript Features

  • Advanced OOP
  • Interface
  • Type Alias
  • Namespace
  • Module
  • Utility Types
  • Paths Modularization
  • Build
  • Deploy
  • Generics

Test Features

  • Unit Tests
  • Integration Tests
  • e2e Tests
  • Test Coverage
  • Test Doubles
  • Mocks
  • Stubs
  • Spies
  • Fakes
  • Dummies

About

🧹React App using Hooks, Typescript, TDD, Clean Architecture, Design Patterns and SOLID Principles

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published