/VUTTR

🛠️ VUTTR (Very Useful Tools to Remember). A aplicação é um simples repositório para gerenciar ferramentas com seus respectivos nomes, links, descrições e tags.

Primary LanguageTypeScriptMIT LicenseMIT

VUTTR

VUTTR

Status

GitHub top language GitHub language count GitHub code size in bytes GitHub last commit

Projeto contruído com conhecimentos em Node.js e Typescript. Projeto focado nos princípios dos SOLID, DDD e TDD.

📝 Tabela de conteúdos

🧐 Sobre

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.

🏁 Iniciando

Rotas da Aplicação

  • 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.

🚀 Deploy

Você pode utilizar a API, está aqui: http://api-app-vuttr.herokuapp.com

Como contribuir?

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.

Requisitos

Ter instalado pelo menos um gerenciador de pacotes do Node, Npm ou Yarn.

Installing

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.

🎈 Uso

(yarn | npm run) start:dev

⛏️ Construído utilizando

Bibliotecas/Frameworks

✍️ Authors

👤 Victor Campelo