Skip to content

☕️ Criação de uma simples api 🚀, com as funcionalidades padrões(CRUD), armazenadas no 📖H2 Database

License

Notifications You must be signed in to change notification settings

Josuebmota/ApiSpringBoot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

☕️ApiSpringBoot

Josué Batista Repository size GitHub last commit License Stargazers

📌 Tecnologias utilizadas

🍂Maven - Tecnologia de automação de compilação utilizada em primariamente em projetos Java.
🌿 SpringBoot 2 - Facilita o processo de configurações e publicações.
🛢️ H2 Data Base - Sistema de gerenciamento de banco de dados relacional.
🐳 Docker - Criação de ambientes isolados via container
📋 Swagger - Documenta os serviços de Web RestFul
🔎Junit - Utilizado para criação de testes automatizados

🛠️ Ferramentas Utilizadas

📕 Informações

  • Banco de dados: H2
  • Console H2: /h2-console
  • Usuario de acesso ao banco de dados: user
  • Password de acesso ao banco de dados: password
  • Ao iniciar o projeto a aplicação automaticamente cria Banco e a tabela pessoas
    DROP TABLE IF EXISTS Pessoas;
    
    CREATE TABLE Pessoas (
    id INT AUTO_INCREMENT  PRIMARY KEY,
    first_name VARCHAR(250) NOT NULL,
    last_name VARCHAR(250) NOT NULL,
    career VARCHAR(250) DEFAULT NULL
    );

🚀 Execução

Após efetuar o download e certificar que seu pc possui o java instalado, siga os passos:

# Clone o repositório
git clone https://github.com/Josuebmota/ApiSpringBoot.git

# Vá para o diretório do arquivo
cd ApiSpringBoot

Siga ate o arquivo principal e execute no seu vscode ou eclipse

Afim de facilitar os testes das rotas, efetue o download do arquivo abaixo:

Run in Insomnia}

🍄 Funcionalidades

  • ♻️ Rotas da API

    • Listar Pessoas: /api/pessoas/listar/

    • Adicionar Pessoa: /pessoas/adicionar

      {
          "first_name": "Josué", 
          "last_name": "Mota",
          "career":"Procurando Algo"
      }
      
    • Atualizar Pessoa: /pessoas/{id}/atualizar

    • Deletar Pessoa: /pessoas/{id}/deletar

  • 🔐 Segurança
    Foi configurado uma Autentificação básica para as rotas. No entanto, na rota de listagem de usuários, tal autentificação não é necessária.

     Username: admin
     Password: admin
    
  • Tratamento de Exceções
    Foi construído uma classe para tratar os erros, em conjunto de algumas propriedades.

  • 🥣 Consumindo uma api externa
    Api que incrementa o banco ao inicializar a aplicação.
    obs: Caso essa api externa, não esteja funcionando mais. Remova essa parte do código.

  • 🔎 Testes Unitários e Integração
    Testes voltados para as ações de criação, listagem, atualização e delete dos dados cadastrados.
    obs : para realizar os testes é necessario que a aplicação esteja rodando

  • 🍏 Swagger
    Afim de trazer entedimento de cada rota desta api, basta ao rodar à aplicação, acessar está url:

http://localhost:9090/swagger-ui.html#

  • 🐋 Docker
    Para rodar o DockerFile, é importante executar o seguintes comandos:

     ./mvnw package
     docker build -t <nameimage> .
     docker run <nameimage>
    

    O primeiro comando, ira gerar o arquivo .jar , o segundo criará a imagem da aplicação e o terceiro executará o container.
    obs: Caso queira efetuar o download da imagem, acesse o DockerHub.

🐛 Problemas

Sinta-se a vontade de registrar um novo problema, com um respectivo título e descrição no repositório do ApiSpringBoot. Se encontrar a solução, avaliarei seu Pull Request.

👨‍💻 Autor

Criado por Josué Batista Mota ,
esse projeto está sobre MIT license 📃.

Coloque uma ⭐️ caso esse proejto tenha lhe ajudado

About

☕️ Criação de uma simples api 🚀, com as funcionalidades padrões(CRUD), armazenadas no 📖H2 Database

Topics

Resources

License

Stars

Watchers

Forks