Muitas pessoas tem interesse em fazer doações, mas as vezes não tem o tempo necessário para encontrar onde doar ou como doar. Como sabemos, vivemos em um país em que a desigualdade social ainda existe e por isso há várias pessoas necessitadas, às vezes grupos de pessoas com um problema em comum.
No eDoe.com usuários de toda a região envolvida podem cadastrar itens a serem doados. Usuários também podem cadastrar itens necessários e o sistema deve saber casar doações com necessidades para facilitar a doação. Uma vez fechada uma doação, o sistema ajuda a organizar o encontro de doador/receptor.
O Sistema Operacional usado foi o Linux e as tecnologias utilizadas foram a LP Java, Spring Boot e a API Postman para testar o serviço RESTful por meio do envio de requisições HTTP e da análise do seu retorno.
Utilizamos o Spring JPA para integrarmos os objetos Java em um banco de dados, possibilitando a persistência dos mesmos. A IDE utilizada foi o Eclipse IDE.
A autenticação foi baseada em JWT, de forma que a cada requisição é preciso um token válido para se ter acesso. Todos os endpoints estão bloqueados, somente os endpoints de login e criação de usuário estão abertos.
Toda a segurança do sistema foi feita usando-se Spring Security, para todas as requisições, foi criada um interceptador, onde verifica o token e o usuário que está usando a API. Todas as senhas antes de irem para o BD, são criptografadas, usando a biblioteca Bcrypt, e só depois de criptografada, a senha é salva no BD, pra isso foi usado uma classe Listener para o usuário, para que antes da criação do usuário ou edição da senha do usuário, a senha seja sempre criptografada, antes de chegar ao BD.
1) acesse a rota base_url/usuario/login com um Json contendo o Password e o Username.
2) A credenciais estando corretas, acesse o Response headers, e copie o token, contido em "Authorization:".
3) Esse token será o responsável por todo acesso a API.
3.1 - O token terá validade durante 6 horas.
4) Adicione esse token ao Authorize da sua aplicação segundo o seguinte padrão:
Bearer <Token>
O sistema oferece sistema de cache, usando a ferramenta de cache do Spring, o spring-boot-starter-cache, para otimizar todas requisições a API.
Todos os testes foram feitos usados a ferramenta JMeter.
Primeiro, é necessário clonar o projeto do GitHub, baixá-lo como projeto Maven, editá-lo em uma IDE de sua preferência (Eclipse STS, IntelliJ, etc) e, em seguida, selecionar o projeto e dar run para que o mesmo seja executado.
Os desenvolvedores do projeto são José Ivan Silva da Cruz Júnior (joseiscj) e Marcos César (Marcoozvn).
It was built a single image container on a VM, where it was able to deploy the app and test the api running on other machine.
1. minikube
2. kubectl
3. dockertools
4. Oracle VM Virtualbox
eval $(minikube docker-env)
./mvnw clean package
docker build -t simple-crud:0.0.1 .
kubectl run simple-crud --image simple-crud:0.0.1 --port 8080
kubectl expose deployment simple-crud --type=NodePort
curl $(minikube service simple-crud --url)/users/kubernetes
kubectl run simple-crud --image simple-crud:0.0.1 --port 8080 -o yaml --dry-run \
> simple-crud-deployment.yaml
kubectl expose deployment simple-crud --type=NodePort -o yaml --dry-run > simple-crud-svc.yaml
kubectl delete all -l run=simple-crud