/piii-api

Construção de uma API REST utilizando Spring Boot para a disciplina de Progrtamação III do curso de Licenciatura em Computação da UPE Campus Garanhuns

Primary LanguageJavaApache License 2.0Apache-2.0

[Construindo uma API Rest com Java]

Universidade de Pernambuco | Campus Garanhuns | Coordenação de Computação

🚧 Vamos construir uma API Rest para o front do app Gera Senha 🚀 🚧

GitHub language count Repository size GitHub last commit License Stargazers

🏦 Sobre o projeto

O Gera Senhas é uma aplicação capaz de gerar senhas fortes, com base nas configurações de diretrizes estabelecidas pelo usuário. A geração de senhas fortes as tornam difíceis de serem lembradas e um gerenciador torna mais fácil o trabalho de armazenar, identificar e recuperar estas senhas.

Após a análise de algumas opções existentes, definimos a seguinte lista de features:

  • [RF01] - Quantidade de caracteres - define a quantidade de caracteres (Essencial)
  • [RF02] - Letra maiúscula - define a presença de caracteres alfabéticos maiúsculos (Essencial)
  • [RF03] - Letra minúscula - define a presença de caracteres - minúsculos (Essencial)
  • [RF04] - Números - define a presença de caracteres minúsculos (Essencial)
  • [RF05] - Símbolos - define a presença de caracteres especiais(!@#$%&*()-+.,;?{[}]^><:) (Essencial)
  • [RF06] - Caracteres semelhantes - define a possibilidade da senha gerada conter repetição de caracteres (Desejável)
  • [RF07] - Copiar - possibilita a cópia da senha para a área de clipboard (Importante)
  • [RF08] - Compartilhamento - permite ompartilhar a senha gerada via whatsapp ou email (Desejável)
  • [RF09] - Armazenamento - oermite rmazenar a senha (Importante)
  • [RF10] - Categorização de senhas - permite organizar as senhas armazenadas aplicando labels (Desejável)
  • [RF11] - Criptografia - permite que a senha armazenada seja criptografada (Desejável)

Os usuários terão acesso às funcionalidades através da API rest e através da interface construida em ReactJS.

GeraSenha

Projeto é desenvolvido durante a disciplina de Programação III do curso de Licenciatura em Computação da [Universidade de Pernambuco - Campus Garanhuns].

A disciplina trás uma vivência prática com os desafios de aprender a programar para web utilizando frameworks e tecnologias em uso no mercado.

🚀 Objetivo

Vivenciar a experiência de construir uma API Rest em Java utilizando Spring Boot

💻 Tecnologias

As seguintes ferramentas são usadas na construção da API:

  • [Java]
  • [Spring Boot]
  • [Spring Data]
  • [Spring Validation]
  • [Spring Web]
  • [Lombok]
  • [PostgreSQL]
  • [Apache Tomcat]
  • [Spring HATEOAS]

🛠 Feramentas

  • Git
  • Java Virtual Machine 8
  • Maven 3.6.3
  • Eclipse IDE ou Visual Studio Code
  • Spring Tool Suite 4 (plugin)
  • Postgre SQL

🌉 Arquitetura de referência

Arquitetura

🚧 Configuração de Ambiente

SDKMan

Existe um BUG no SDKMAN no Windows que não efetua corretamente a troca de versões dos sdks na pasta current. Para corrigi-lo é necessário fazer uma alteração no arquivo .bashrc que existe na sua pasta de usuário.

  1. Abra o arquivo .bashrc
  2. Acrescente uma linha em branco no início do arquivo
  3. Cole esta instrução export MSYS=winsymlinks:lnk na linha criada.
  4. Salve o arquivo

Máquina Virtual Java

O Eclipse 4.7, que é compatível com o Spring Tool Suite, precisa da JVM na versão 11

  1. Abra o ConEmu(MinGW) e instale o sdk utilizando o seguinte comando sdk install java 11.0.8.j9-adpt
  2. Após a instalação o SDKMan já pergunta se você deseja tornar a versão instalada como padrão, é só aceitar escolhendo a opção Y.
  3. Execute java -version para ter certeza que o jdk foi atualizado e você consiga verificar qual a versão está sendo utilizada

Maven

Execute mvn -version no terminal de comando para ter certeza que o Maven foi instalado corretamente

GitHub

  1. Faça o aceite do convide enviado para acesso ao repositório da disciplina.
  2. Clique na URL do repositório para acessá-lo
  3. Clique no botão "Code", copie a URL do repositório
  4. Faça o clone da branch no seu workspace utilizando o link copiado
  • Lembre-se de ter configurado as variáveis de usuário no seu arquivo global do git

    • git config --global user.email "you@example.com"
    • git config --global user.name "Your Name"

Eclipse e Spring Tool Suite (STS)

  1. O STS precisa do Eclipse na versão 4.7
  2. Baixe, descompacte
  3. Execute o Eclipse no workspace onde realizou o clone do projeto

Spring Tool Suite

  1. No Eclipse acesse o menu Help > Eclipse Marketplace e procure por Spring Tools 4
  2. Clique em install e execute os passos de instalação

🚀 Como executar o projeto

#Clone este repositório
$ git clone https://github.com/upe-garanhuns/piii-api

#Acesse a pasta do projeto no terminal/cmd
$ cd piii-api

#Execute a instalação do projeto
$ mvn clean install

#Execute a aplicação em modo de desenvolvimento
$ java -jar /target/gera-senha-api.jar

#O servidor inciará na porta:8080 - acesse http://localhost:8080

📑 Documentações de Referência

📘 Guias

👤 Como contribuir para o projeto

  1. Faça um fork do projeto.
  2. Crie uma nova branch com as suas alterações: git checkout -b my-feature
  3. Salve as alterações e crie uma mensagem de commit contando o que você fez: git commit -m "feature: My new feature"
  4. Envie as suas alterações: git push origin my-feature

    Caso tenha alguma dúvida confira este guia de como contribuir no GitHub

📜 Licença

Apache 2.0

Copyright (c) [2021] [Helaine Barreiros]


Autor

Feito com ❤️ por Helaine Barreiros 👋🏽 Entre em contato!

Voltar