Skip to content

fcamarasantos/backend-test-java

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 

Repository files navigation

FCamara 🚀

"Queremos ser como uma árvore, crescer um pouco todos os dias e tentar tocar o céu, sem perder a solidez de nossas raízes." Conheça: www.fcamara.com.br

Teste para vaga de Desenvolvedor Back-end

Criar uma API REST para gerenciar um estacionamento de carros e motos.

Cadastro de estabelecimento

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.

Cadastro de veículos

Criar um cadastro de veículos com os seguintes campos:

  • Marca;
  • Modelo;
  • Cor;
  • Placa;
  • Tipo.

Todos os campos são de preenchimento obrigatório.

Funcionalidades

  • Estabelecimento: CRUD;
  • Veículos: CRUD;
  • Controle de entrada e saída de veículos.

Requisitos

  • Modelagem de dados;
  • O retorno deverá ser em formato JSON e XML;
  • Requisições GET, POST, PUT ou DELETE, conforme a melhor prática;
  • A persistência dos dados pode ser realizada da maneira que preferir;
  • Criar README do projeto descrevendo as tecnologias utilizadas, chamadas dos serviços e configurações necessário para executar a aplicação.

Ganha mais pontos

  • Desenvolver utilizando TDD;
  • Criar API de relatório;
  • Sumário da quantidade de entrada e saída;
  • Sumário da quantidade de entrada e saída de veículos por hora;
  • Criar uma solução de autenticação.

Questionário para Avaliação de Competências

1. GraphQL (Implementação BFF - Backend For Frontend)

  • Implementação: Crie um BFF com GraphQL localmente para permitir as operações de CRUD e controle de entrada e saída de veículos. O BFF deve expor as operações e lidar com as interações entre o front-end e o back-end.
  • Disponibilização: Após implementar o BFF, disponibilize o projeto publicamente no GitHub, com um link no README para o repositório.
  • Documentação: Explique no README os benefícios de usar GraphQL no contexto do projeto, descrevendo também como configurar e rodar o BFF localmente.
  • Questões: Além da implementação, responda às seguintes perguntas no README:
    • Pergunta 1: Explique o que é o GraphQL e como ele se diferencia de uma API REST tradicional.
    • Pergunta 2: Descreva como você implementaria o uso do GraphQL como BFF (Backend for Frontend) neste projeto de gerenciamento de estacionamento. Forneça exemplos práticos.
    • Pergunta 3: Quais são os benefícios de utilizar GraphQL em relação à flexibilidade das consultas? Cite possíveis desafios ao utilizá-lo.

2. Banco de Dados (Nível Básico)

  • Pergunta 1: Explique os principais conceitos de um banco de dados relacional, como tabelas, chaves primárias e estrangeiras.
  • Pergunta 2: No contexto de uma aplicação de gerenciamento de estacionamento, como você organizaria a modelagem de dados para suportar as funcionalidades de controle de entrada e saída de veículos?
  • Pergunta 3: Quais seriam as vantagens e desvantagens de utilizar um banco de dados NoSQL neste projeto?

3. Agilidade (Nível Básico)

  • Pergunta 1: Explique o conceito de metodologias ágeis e como elas impactam o desenvolvimento de software.
  • Pergunta 2: No desenvolvimento deste projeto, como você aplicaria princípios ágeis para garantir entregas contínuas e com qualidade?
  • Pergunta 3: Qual a importância da comunicação entre as equipes em um ambiente ágil? Dê exemplos de boas práticas.

4. DevOps (Nível Básico)

  • Pergunta 1: O que é DevOps e qual a sua importância para o ciclo de vida de uma aplicação?
  • Pergunta 2: Descreva como você integraria práticas de DevOps no desenvolvimento desta aplicação de estacionamento. Inclua exemplos de CI/CD.
  • Pergunta 3: Cite as ferramentas que você usaria para automatizar o processo de deploy e monitoramento da aplicação.

Submissão

Crie um fork do teste para acompanharmos o seu desenvolvimento através dos seus commits.

Obrigado!

Agradecemos sua participação no teste. Boa sorte! 😄

About

Teste para vaga de Desenvolvedor Back-end.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published