Git Product home page Git Product logo

craftbeer's Introduction

Bem vindo(a) ao desafio da Sensedia!
Desde já, desejamos boa sorte :)

O objetivo deste projeto é avaliar o desenvolvimento de uma aplicação com API Rest e persistência de dados.

Poderá usar Java com Spring Boot ou outra linguagem a ser combinada conosco previamente. As sugestões de frameworks feitas em Java podem ser adaptadas para sua stack caso não opte por Java.

IMPORTANTE: Para algumas posições precisamos que o desafio seja realizado em Java com Spring Boot, por isso é importante alinhar com nosso RH a linguagem do desafio.

Fique atento as instruções a seguir.

Cadastro de cervejas artesanais

Set up environment

Para iniciar o projeto é necessário realizar o clone do repositório a seguir:

    $ git clone https://github.com/Sensedia/craftbeer.git

Este repositório contém um projeto base, com algumas dependências previamente adicionadas. Sinta-se a vontade para alterá-lo.

Você deverá compartilhar no seu repositório do github as alterações solicitadas para o projeto. O endereço deste repositório deverá ser enviado para o contato do nosso RH após a conclusão do desenvolvimento.

Especificação do projeto

A beer house é uma empresa possui um catálogo de cervejas artesanais. Esta empresa está buscando entrar no mundo digital. Para entrar no mundo digital a beer house dicidiu começar pelas APIs. As APIs serão utilizadas para compartilhar dados com os parceiros e também para o seu sistema web.

Pra atender a esta demanda será necessário que a você implemente as APIs do projeto beer house.

Para implementar estas APIs você dever seguir a especificação do swagger que está neste projeto.

craftbeer
|
|docs
|    |___craftbeer-spec

Dica: Copie e cole o conteúdo do arquivo acima no Swagger Editor para visualizar melhor o que esperamos que seja implementado.

Requisitos do projeto

  1. Administrar cervejas:
  • O sistema deverá ter um cadastro de cervejas artesanais via API
  • O sistema deverá ser capaz de criar, excluir e alterar (parcialmente ou completamente) as cervejas
  1. Sistema deverá armazenar as informações em um banco de dados
  • Poderá ser utilizada uma base de dados embbeded como H2
    -- Caso opte por não utilizar a solução embbeded, não se esqueça de adicionar scripts de inicialização da base escolhida
  • A comunicação entre o sistema e a base de dados deverá ser feita através de JPA
  1. O sistema deve conter testes unitários
  • Utilize JUnit
  • Para facilitar a escrita dos testes, você pode utilizar frameworks de mock como o Mockito
  1. O sistema deve conter uma forma de validar o funcionamento
  • Deverá ser diponibilizado uma coleção do postman para testar todos os recursos

O que será avaliado no projeto

  • Qualidade de código
  • Design patterns utilizados
  • A utilização correta do Spring, JPA e outros
  • A criação de testes unitários

O que você deve fazer

  • Utilizar-se da linguagem e dos frameworks ao máximo para mostrar o seu conhecimento
  • Entregar o projeto completo, com scripts e instruções de execução se for o caso
  • Usar Java 8+ e deixar a gente bem feliz com isso!

O que você pode fazer

  • Utilizar frameworks e bibliotecas que julgar úteis
  • Alterar e criar o código à vontade
  • Consultar tutoriais, consultar fóruns e tirar dúvidas
  • Você pode aprender com código de outras pessoas, utilizar trechos, mas não usar tudo igual
  • Utilizar Docker para containerizar a aplicação (opcional, faz se te sobrar tempo)

O que você não pode fazer

  • Copiar de outros candidatos
  • Pedir alguém para fazer o projeto para você

Links de sugestão:

Seção reservada para que você descreva brevemente como executar o seu projeto

Pode ser algo simples, como executar o arquivo Application.java. Ou talvez tenha alguma dependência como base de dados, por exemplo.

Para executar o projeto

  • Execute a classe Application.java

craftbeer's People

Contributors

pett4j avatar kim-prado-sensedia avatar

Watchers

James Cloos avatar Karlos Kelvin avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.