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.