Skip to content

Desafio Samba Tech para vaga de desevolvedor back-end Pleno/Sênior.

License

Notifications You must be signed in to change notification settings

WenderGalan/desafio-sambatech

Repository files navigation

DESAFIO SAMBA TECH

Build Status codecov

  • Informações do projeto:

    • O mesmo está integrado ao Travis CI (Integração continua), HEROKU (Deploy automático), e CodeCov (Cobertura de código). Tudo de forma automática.
    • Para fazer o teste da aplicação basta clicar aqui que será redirecionado a API do heroku é possível que demore alguns segundos para iniciar.
    • O Open API está disponível na raiz do projeto.
    • A coleção do postman está disponível na raiz do projeto. Apenas importe para o Postman.
    • A ACCESS_KEY_ID e SECRET_ACCESS_KEY foi enviada junto ao link do repositório aos recrutadores. Não pode ser colocada no código devido a segurança da AWS.
    • O limite de tamanho de arquivos que podem ser enviados foi limitado a 100 MB na aplicação.
    • O deploy deixei de forma automática no heroku, caso os testes falhem não irá fazer o deploy.
  • Observação:

    • Fiquei com algumas dúvidas referente ao que a API deveria receber como parâmetro e body nos controllers e fiz da forma que imaginei que seria tratado a informação. Devido ser final de semana acabei não mandando e-mail para tirar as dúvidas.

Como rodar o projeto em sua máquina?

Assumindo que você já tenha o ambiente de desenvolvimento com o JAVA 11, Postgres instalados e configurados você pode entrar no application.properties do projeto e alterar as propriedades para as informações de seu ambiente, e rodar o comando abaixo:

   mvn spring-boot:run

Para rodar os testes na máquina execute mvn test caso esteja utilizando o docker ele irá fazer os testes antes da aplicação iniciar, caso algum falhe ele não irá iniciar o back-end.

Utilizando o docker

Assumindo que já tenha o Docker instalado na máquina, execute os procedimentos abaixo.

  • Insira a ACCESS_KEY_ID e a SECRET_ACCESS_KEY dentro do common.env para que seja autorizado o acesso ao BUCKET da AWS.
  • Abra o console na pasta raiz da aplicação e execute o comando abaixo (devido a biblioteca do XUGGLE a primeira build do docker está demorada):
  docker-compose up -d --build

No seu browser acesse as urls:

Dependências:

  • JPA Data: Gerenciamento das entidades da aplicação
  • Spring Security: Segurança da api (Basic Auth)
  • Spring Email: Usado para o envio de e-mails dentro da aplicação
  • Spring Web
  • Spring DevTools
  • Postgres: Banco de dados
  • Lombok: Biblioteca para evitar escrita de código desnecessário
  • Swagger: Documentar a API
  • H2: Banco de dados em memória para testes.
  • XUGGLE: Biblioteca para trabalhar com videos.
  • Hibernate Validator: Validação das entradas
  • Amazon AWS: Usado para a conexão com o bucket da amazon.

Integração contínua: Travis CI

  • O Travis CI é um serviço web de Integração Contínua na nuvem integrado com o GitHub.

Deploy

About

Desafio Samba Tech para vaga de desevolvedor back-end Pleno/Sênior.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages