Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

fcamarasantos/backend-test-java

Open more actions menu

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
Morty Proxy This is a proxified and sanitized view of the page, visit original site.