Teste Full-Stack - O Amarelinho

o projeto consiste em 3 repositórios distintos, sendo eles:

  • Inicial : Agrega a stack e inicializa as aplicações em container (Docker)
  • Api (Atual) : Projeto Back-end
  • Web : Projeto Front-end

Executando

  • o mesmo pode ser inicializado localmente com o comando npm run dev

Princípios

  • Single Responsibility Principle (SRP)
  • Interface Segregation Principle (ISP)
  • Dependency Inversion Principle (DIP)

Design Patterns

  • Factory
  • Adapter
  • Composite
  • Decorator
  • Proxy
  • Dependency Injection

Metodologias e Designs

  • TDD
  • Clean Architecture
  • DDD
  • Modular Design
  • Use Cases

Bibliotecas e Ferramentas

  • NPM
  • Typescript
  • Git
  • Docker
  • Jest
  • Prisma
  • Faker
  • Express
  • Supertest
  • Husky
  • Lint Staged
  • Eslint
  • Standard Javascript Style
  • ts-node-dev
  • MockDate

Features do Node

  • API Rest com Express
  • CORS
  • Middlewares

Features de Testes

  • Testes Unitários
  • Testes de Integração (API Rest)
  • Mocks
  • Stubs
  • Spies
  • Fakes

Features de banco de dados

SQLite foi escolhido como o banco de dados relacional da aplicação, o mesmo se comunica em conjuto dos repositórios atráves do Prisma ORM.