"Salvar vidas e cuidar das pessoas porque elas não podem esperar nas filas da saúde." Conheça: www.drconsulta.com
O teste é destinado para vaga de Desenvolvedor Back-end entendo como o candidato efetuou a solução e o raciocinio de criação
Criar uma API REST para gerenciar um estacionamento de carros e motos.
- NestJS
- TypeOrm
- Jest
- Mysql
- Swagger
- Docker
- Husky
- Eslint
- Conventional commits
Criar um cadastro da empresa com os seguintes campos:
- Nome;
- CNPJ;
- Endereço;
- Telefone;
- Quantidade de vagas para motos;
- Quantidade de vagas para carros.
- Todos os campos são de preenchimento obrigatório.
Criar um cadastro de veículos com os seguintes campos:
- Marca;
- Modelo;
- Cor;
- Placa;
- Tipo.
- Todos os campos são de preenchimento obrigatório.
- Estabelecimento: CRUD;
- Veículos: CRUD;
- Controle de entrada e saída de veículos.
- Controle JWT via Handshake
- Modelagem de dados;
- O retorno deverá ser em formato JSON;
- Requisições GET, POST, PUT ou DELETE, conforme a melhor prática;
- A persistência dos dados deverá ser em banco relacional MYSQL
- Criar README do projeto descrevendo as tecnologias utilizadas, chamadas dos serviços e configurações necessário para executar a aplicação.
- Sumário da quantidade de entrada e saída;
- Sumário da quantidade de entrada e saída de veículos por hora;
- Criação relatórios para visão ao dono do estabelecimento;
- Desenvolver utilizando TDD;
Efetuar deploy da nossa API no ambiente do Google Cloud Platform utilizando os serviços
- Container Registry (Subir a imagem docker)
- Cloud Run
- [] update all resources with "responses" like a PARKING resource
- [] update schemas with DTOs
- [] replace static ip (MYSQL_HOST) in .docker/.env.* to dinamic address
- [] optimize docker production
- cannot communicate with mysql -> update ip address in .docker/.env*
$ git clone https://github.com/BillRizer/api-parking.git
$ cd api-parking
# development
$ ./deploy --dev
# production mode
$ ./deploy --prod
http://localhost:3000/api/v1 or http://0.0.0.0:3000/api/v1
# production mode
$ yarnstart:prod
# development
$ yarn start
# watch mode
$ yarn start:dev
# unit tests
$ yarn test:watch
# e2e tests
$ yarn test:e2e
# test coverage
$ yarn test:cov
Crie um fork do teste para acompanharmos o seu desenvolvimento através dos seus commits.
Agradecemos sua participação no teste. Boa sorte! 😄