Skip to content

jeff-pedro/adopet-api

Repository files navigation

Adopet API

GitHub Actions Workflow Status

API RESTful para uma empresa fictícia de adoção de animais, desenvolvido para um Challenge Back-End.

Adopet App

Potuguese - English

🤖 Tecnologias

📋 Requisitos

⚙️ API

🧩 adopet.api.sapituca.site

🗂 Documentação

🧑🏽‍💻 Usando

Clonar o repositório

git clone [repositório]

Seguir para o diretório da API

cd adopet-api/

🏗️ Construindo e executando a aplicação

Iniciar a API e o bando de dados

docker compose up --build -d

Migrar das tabelas do banco de dados

docker compose exec api npx sequelize-cli db:migrate

A API estará disponível em http://localhost:9000.

💣 Testando a API... 🤞🏽

Criar banco de dados de teste

docker compose exec api npx sequelize-cli db:create --env test

Realizar a migração das tabelas

docker compose exec api npx sequelize-cli db:migrate --env test

Executar todos testes

docker compose exec api npm run test

Executar testes de integração

docker compose exec api npm run test:integration

ou executar testes com filtro

docker compose exec api \
npm run test:integration \
-- api/__test__/integration/routes/authRoute.test.js

📦 Contruindo uma Imagem

Construa uma imagem ao executar:

docker build -t adopet-api:latest .

♾️ CI/CD

Github Actions foi escolhido como ferramenta no desenvolvimento de CI pela simplicidade na construção de workflows, por estar integrado ao repositório da aplicação e por questões didáticas para explorar a ferramenta.

A escolha do Render como plataforma de deploy da API e do Banco de Dados, foi devido a simplicidade na realização de deploys e ao plano gratuito que abrange banco de dados Postgres, deploy de Web Services construído em Node.js, além de dar suporte Continuos Deployment realizando deploys automáticos integrado às branchs do Github.

🧪 Build e Testes

Rotinas são executadas para testar a aplicação, construir um imagem do Docker e registrá-la no Docker Hub no momento que o repositório receber um Pull Request para a branch main.

🚀️ Deploy

O Banco de Dados e a API são constrúidos através dos serviços do Render, no qual disponibiliza sempre a última versão da aplicação ao realizar deploys automáticos baseados na branch main deste repositório.

📚 Referências


🔼 Voltar ao topo

About

API for pet adoption website developed for a Backend Challenge.

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors