Projeto contruído com conhecimentos em Node.js e Typescript. Projeto focado nos princípios dos SOLID, DDD e TDD.
API e banco de dados para a aplicação VUTTR (Very Useful Tools to Remember). A aplicação é um repositório para gerenciar ferramentas com seus respectivos nomes, links, descrições e tags.
Aplicação com conceitos e metodologias aplicadas, tais como DDD, SOLID e TDD. O DDD(Domain Driven Design) é uma metodologia de desenvolvimento que pode ser utilizada para arquitetura do projeto. O que vamos utilizar dessa metodologia, são os padrões, boas práticas e conceitos no backend. O TDD(Test Driven Development): é uma metodologia de desenvolvimento e pode ser utilizado junto com DDD. Pode ser aplicado tanto no Back quanto no Front. Essa metodologia tem a característica de criar testes antes de criar a funcionalidade em si. O SOLID é um acrônimo criado por Michael Feathers que representa os 5 princípios da programação orientada a objetos. Princípios esses que são SRP, OCP, LSP, ISP, DIP. Utilizei no projeto os principios SRP(Single Responsability Principle), LSP(Liskov Substitution Principle) e DIP(Dependency Inversion Principle).
A API está documentada, nesse link.
Criado com requisitos baseados no desafio da Bossa Box.
-
POST /tools
: Rota para cadastrar uma nova ferramenta. O corpo da requisição deve conter as informações da ferramenta a ser cadastrada, sem o ID (gerado automaticamente pelo servidor). -
GET /tools
: Rota para listar todas as ferramentas cadastradas. -
GET /tools?tag={tag}
: Rota para listar ferramentas utilizando uma busca por tag, ou seja, filtrando as ferramentas de acordo com a tag recebida. -
DELETE /tools/{id}
: Rota para deletar uma ferramenta. -
GET /api-docs
: Rota com toda a documentação da API.
Você pode utilizar a API, está aqui: http://api-app-vuttr.herokuapp.com
Você pode utilizar esse projeto, para escalar a aplicação que mesmo com poucas rotas, a utilização do SOLID tornou possível a evolução da API de uma forma bem mais acessível.
Ter instalado pelo menos um gerenciador de pacotes do Node, Npm ou Yarn.
Executar na raiz do projeto o seguinte comando para instalar as dependências yarn install
ou npm install
Para executar a API localmente, deve ter um container com Postgress com o nome correto para que o typeorm possa se conectar ao seu banco de dados.
(yarn | npm run) start:dev
👤 Victor Campelo
- Twitter: @Jvictor_cv
- Github: @VictorCampelo
- LinkedIn: @victor-campelo