Skip to content

The-Bugger-Ducks/help-duck-register

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Microsserviço para manipulação de usuários e equipamentos

Esta API, que permite o gerenciamento de usuários, foi desenvolvida visando sua utilização no projeto "Help Duck" (mais informações vide este link).

Aplicação desenvolvida por alunos do 3º semestre do tecnólogo em Desenvolvimento de Software Multiplataforma, na FATEC Profº Jessen Vidal - São José dos Campos, SP 🚀

🛠️ Tecnologias

As seguintes tecnologias e ferramentas foram utilizadas neste projeto: Java, Spring, MongoDB, Docker, Insomnia, Heroku

⚙️ Como utilizar

Para consumir esta API, é preciso seguir o passo a passo abaixo ou utilizar a URL do serviço em nuvem (através deste link, desde que de posse do token de autorização: https://help-duck-register.herokuapp.com).

  • Tutorial para rodar o projeto

No arquivo application-dev.properties, complete a variavel "spring.data.mongodb.uri" com a URI que o mongo disponibiliza ao logar na plataforma do MongoDB (Deployment -> Database -> connect -> connect your application). Se for localhost, utilize suas credenciais no formato da URI ( mongodb://:@localhost/ ):

Print do mongoDB atlas connect URI

image

spring.data.mongodb.uri=mongodb+srv://<username>:<password>@cluster0.rpjin.mongodb.net/myFirstDatabase?retryWrites=true&w=majority

Para prosseguir, é preciso que todas as ferramentas necessárias estejam devidamente instaladas (Java, Git, MongoDb...). Para conferir a instalação delas, acesse este tutorial. Após os downloads, baixe ou clone este repositório pelo terminal seguindo passo a passo descrito abaixo:

# Baixe este repositório ou clone pelo Git usando o comando:
$ git clone https://github.com/The-Bugger-Ducks/help-duck-register.git

# Acesse a pasta do projeto
$ cd help-duck-register

# Espere o Maven carregar as dependências do projeto (são listadas no arquivo pom.xml)

# Execute o projeto utilizando sua IDE preferida (Eclipse, VS Code, IntelliJ, etc.)

O servidor inciará localmente na porta 8080. Use o Insomnia para simular requisições e respostas das rotas (pelo link https://localhost:8080) ou utilize o projeto fron-end do "Help Duck" para executar as funcionalidades da aplicação (acesse o repositório por este link).

🛤️ Rotas disponíveis

Tipo Rota Ação


Controle de usuários
/auth/authentication Autenticação de usuários
/users/ Listagem de usuários
/users/{id} Dados de um usuário específico
/users/create Cadastro de usuários
/users/update Alteração dos dados do usuário
/users/update-password Alteração de senha do usuário
/users/delete/{id} Exclusão de usuários
/users/search Busca de usuários por nome e/ou cargo


Controle de equipamentos
/equipment/ Listagem de equipamentos
/equipment/{id} Dados de um equipamento específico
/equipment/create Cadastro de equipamentos
/equipment/update Alteração dos dados do equipamento
/equipment/delete/{id} Exclusão de equipamentos
/equipment/search Busca de equipamentos por nome e/ou departamento

Explicação da estrutura das pastas

Pasta Definição
📂 main/ .../ Arquivos com o código fonte do projeto
📂 main/ .../ config Configuração de cors, csrf, etc
📂 main/ .../ controller Arquivos com os métodos de requisição das rotas
📂 main/ .../ entity Arquivos com funções mais especificas, ex: atualizador, adicionador de links para HATEOAS, etc
📂 main/ .../ enums Arquivos de padronização de entrada para campos específicos no banco de dados
📂 main/ .../ model Arquivos que fazem a aplicação de HATEOAS e manipulação de dados
📂 main/ .../ repository Arquivo para utilização de CRUD de entidades (collection - mongodb) do projeto
📂 main/ .../ security Arquivos que contém os serviços utilizados no projeto
📂 main/ .../ service Arquivos de configuração de segurança (como tokens)
📄 main/ .../ HelpduckusersApplication.java Arquivo principal do projeto
📂 main/ resources/ Arquivos para configurações globais do projeto (ex: credenciais em banco de dados)
📄 docker-compose Arquivo usado para "conteinerizar" um banco mongo local
📄 pom.xml Arquivo usado gerenciar as dependencias do projeto com o Maven