/caramela-api

:hamster: API to save pet vaccines, consultations, weight and age

Primary LanguageTypeScriptMIT LicenseMIT

Caramela API

API para acompanhar as vacinações, consultas, peso, idade do seu pet

Read in English

🔗 Docs e Demo usando Swagger

📑 Índice

📌 Features

  • CRUD de usuário
  • Upload de foto de usuário
  • Autenticação de usuário
    • JWT, Refresh Token e Refresh Token Rotation
  • Envio de e-mail ✉️
    • Reset de senha
  • CRUD de pets
  • Upload de foto de pet 😸 🐶 🐭 🐰
  • Criação e leitura de Consultas

📚 Demo

🔗 Docs e Demo usando Swagger

🔧 Instalação

  1. Você precisará do Node.js e recomendo que use o Docker e Docker Compose

    • Se não quiser usar o Docker, precisará subir sua própria instância do PostgreSQL
  2. Iniciar servidor

# Clona o projeto para sua máquina
git clone https://github.com/alvaromrveiga/caramela-api

# Entra na pasta do projeto
cd caramela-api

# Instala as dependências
yarn

# Sobe o container com a aplicação e o banco de dados
# Dependendo da sua instalação pode ser necessário usar sudo logo antes do comando abaixo
docker-compose up -d

# Roda as migrations
yarn typeorm migration:run

# O servidor abrirá na porta 3333. Você pode acessar os docs em http://localhost:3333/docs/
  1. Crie um arquivo .env na raiz do projeto preenchendo as informações descritas no .env.example

  2. Para olhar os logs use:

# Dependendo da sua instalação pode ser necessário usar sudo logo antes do comando abaixo
docker logs -f caramela-api
  1. Para rodar os testes:
# Pode demorar alguns poucos minutos
# 44 suites e 147 testes
yarn test:all
  • Cobertura dos testes:

    Test-Coverage

🖇️ Requisições no Insomnia

A coleção de 22 requisições para testar o projeto no Insomnia pode ser encontrada aqui.

  • Para importar no Insomnia:
    • Clique na engrenagem no canto superior direito
    • Aba de Data
    • Import Data
    • From File
    • Selecione o arquivo Insomnia_caramela-api.json dentro da pasta assets na raiz do projeto

Insomnia requests

💻 Tecnologias

📄 Licença

MIT