API desenvolvida para fins de estudo/teste, onde é necessário gerenciar uma base de Favorecidos em REST.
A aplicação foi estruturada com padrões SOLID e organizada com modelo package by feature
.
A linguagem usada para o desenvolvimento foi Node, utilizando o framework Express. Também foi utilizado TypeScript & MySQL como database.
curl --request GET \
--url 'https://api-favored.herokuapp.com/favoreds?page=1&orderByKey=cpf&orderBy=DESC' \
--header 'Content-Type: application/json'
Campos de busca: "Nome", "CNPJ/CPF", "Agência" ou "Conta corrente"
curl --request GET \
--url 'https://api-favored.herokuapp.com/favoreds?search=julio' \
--header 'Content-Type: application/json'
curl --request POST \
--url https://api-favored.herokuapp.com/favoreds \
--header 'Content-Type: application/json' \
--data '{
"name": "julio",
"email": "julio@rosseti.xyz",
"cnpj": 12345678912345,
"status": "draft",
"bankCompe": "237",
"bankAgency": "1",
"bankAgencyDigit": "",
"bankAccountType": "CONTA_POUPANCA",
"bankAccountNumber": "1234555",
"bankAccountDigit": "2"
}'
curl --request PUT \
--url https://api-favored.herokuapp.com/favoreds/20a2bbfc-3e5c-43e1-9191-4870f6ae167e \
--header 'Content-Type: application/json' \
--data '{
"name": "julio",
"email": "juliorosseti@gmail.com",
"cnpj": 12345678912345,
"status": "draft",
"bankCompe": "001",
"bankAgency": "313",
"bankAgencyDigit": "4",
"bankAccountType": "CONTA_POUPANCA",
"bankAccountNumber": "1234",
"bankAccountDigit": "2"
}'
curl --request DELETE \
--url https://api-favored.herokuapp.com/favoreds \
--header 'Content-Type: application/json' \
--data '{
"uuid": ["8f116857-5110-4cbb-ba75-208ff096e134"]
}'
A aplicação utiliza conexão com o banco de dados MySQL, por esse motivo, é necessário duplicar o arquivo .env.local
para .env
e alterar as configurações necessárias.
A aplicação utiliza o Yarn
para gerenciamento de suas dependências.
Você pode instalar o Yarn através do comando abaixo:
npm i -g yarn
Necessário Node >= 16
Após a instalação e configuração da API, realize a instalação das dependências da aplicação.
Utilize o comando abaixo para realizar a instalação das dependências
yarn install
Criando a estrutura no banco:
npx sequelize db:migrate
Adicionando registros 'fakes' para popular a base com 30 registros
npx sequelize db:seed:all
Uma janela do navegador se abrirá com a aplicação rodando no endereço http://localhost:3333.
Toda alteração executada no código resultará no recarregamento da página.
yarn start
Executa a suíte de testes da aplicação em modo iterativo. (ainda não finalizado)
yarn test:watch