Giter Club home page Giter Club logo

cliente-backend's Introduction

Descrição da API

Api Rest responsável por:
1) administrar os clientes e produtos favoritos;
2) Consultar a listagem de produtos por id e página;
3) Inserir usuários de autenticação.

O tópico que possui os passos para o serviço ser testado é: https://github.com/mreboucas/cliente-backend#testar-o-micro-servi%C3%A7o---local-host que está abaixo.

Tecnologias

  • Java 8
  • Spring boot
  • Swagger
  • RXJava
  • Maven
  • MongDb
  • Docker
  • Kuberntes/Minikube
  • Lombok
  • Junit

Maven Comandos - Tests

Executa todos os testes unitários

mvn test

Executa uma classe de teste específica.

mvn -Dtest=ProdutoTest test

mvn -Dtest=ClienteTest test

Maven Comandos

Limpa, compila, roda os testes e empacota o projecto mvn clean package

mvn clean package

Limpa, compila e empacota o projecto, mas sem executar os testes

mvn clean package -DskipTests=true

Swagger

http://localhost:8090/api/swagger-ui.html

Checar qualidade do código

plugin sonar lint (eclipse, sts ou vs code)

Testar o Micro Serviço - Local host

1) Acesse o diretório do projeto: /src/main/resources/scripts para inicializar o mongo

Execute esse arquivo:

./docker-init.sh 

Depois execute as seguintes linhas de comando no terminal para criar o banco, usuário e collection::

Detalhe: os passos a seguir serão executados apenas uma vez. Execute-os linha-a-linha no terminal.

mongo -u user_root -p root admin

use luiza_db

db.createUser({user: "luizalabs_user", pwd: "SSDW/Thtywtu9vDYl0T9WHk9Ujze16WH0LUD9l+/1nuJXyOmMCG/KeZzmtoXoxL9BZ8MVgWf5ZEqj4bg", roles: [{ role: "readWrite", db: "luiza_db" }],mechanisms: ["SCRAM-SHA-1"]});

 
  1. Subir o projeto via IDE

  2. Olhar o swagger (http://localhost:8090/api/swagger-ui.html), pegar os examplos dos JSONS e fazer os devidos testes (postman, insomnia etc);

  3. Autenticação do serviço (Basic Autentication):

Administrador

user: admin
passwor: admin123


Usuário padrão

user: user
passwor: user123


Obs.: vc pode verificar mais detalhes na collection 'user_auth' do mongo ou até mesmo criar outros pelo end-point que está documentado no swagger.

Deployar no kubernets

É importante que as etapas a seguir sejam realizadas todas no mesmo terminal

Inicializar minikube

minikube start

Setar docker env (permitir o kubernets acessar/visualizar as imagens docker)

eval $(minikube docker-env)

Buildar a imagem no docker

docker build -t cliente-api-luizalabs .

Deployar a imagem docker no minikube

Acesse o diretório resource do projeto (src/main/resources) e execute:

kubectl apply -f deployment.yml

Checar o deploy

kubectl get deployments

Checar os pods

kubectl get pods

cliente-backend's People

Contributors

mreboucas avatar

Stargazers

 avatar

Watchers

 avatar James Cloos 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.