Skip to content

joaovitor98/autentika

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AutêntikA

Aplicação Java Spring Boot com integração ao MongoDB para autenticação de usuários e gerenciamento de endereços. Frontend estático em src/main/resources/static consumindo a API em http://localhost:8080/api.

Pré-requisitos

  • Java 17 ou superior
  • Maven 3.6 ou superior
  • MongoDB instalado e rodando (padrão: localhost:27017)

Configuração

1. Instalar e iniciar o MongoDB

Certifique-se de que o MongoDB está instalado e rodando na porta padrão (27017).

Windows:

# Inicie o MongoDB (se instalado como serviço, já estará rodando)
# Ou execute manualmente:
mongod

Linux/Mac:

sudo systemctl start mongod
# ou
mongod

2. Configurar a conexão do MongoDB

O arquivo src/main/resources/application.properties já está configurado para:

  • Host: localhost
  • Porta: 27017
  • Database: autentika

Se necessário, altere essas configurações no arquivo application.properties.

Como executar

1. Compilar o projeto

mvn clean install

2. Executar a aplicação

mvn spring-boot:run

Ou execute a classe AutentikaApplication.java diretamente no seu IDE.

A aplicação estará disponível em: http://localhost:8080

Endpoints da API

Autenticação

  • POST /api/auth/cadastro
  • POST /api/auth/login

Endereços

  • POST /api/enderecos
  • GET /api/enderecos/usuario/{usuarioId}
  • GET /api/enderecos/{id}
  • PUT /api/enderecos/{id}
  • DELETE /api/enderecos/{id}

Frontend

As páginas HTML em src/main/resources/static estão configuradas para consumir a API em http://localhost:8080/api.

Para testar o frontend

  • Abra os arquivos index.html, login.html, cadastro.html, perfil.html e endereco.html
  • Garanta que o servidor Spring Boot está ativo na porta configurada (8080 por padrão)
  • Se abrir via file://, ative um servidor estático local para evitar restrições de CORS

Estrutura do Projeto

autentika/
├── src/
│   ├── main/
│   │   ├── java/
│   │   │   └── org/example/
│   │   │       ├── AutentikaApplication.java
│   │   │       ├── config/
│   │   │       │   └── CorsConfig.java
│   │   │       ├── controller/
│   │   │       │   ├── AuthController.java
│   │   │       │   └── EnderecoController.java
│   │   │       ├── model/
│   │   │       │   ├── Usuario.java
│   │   │       │   └── Endereco.java
│   │   │       ├── repository/
│   │   │       │   ├── UsuarioRepository.java
│   │   │       │   └── EnderecoRepository.java
│   │   │       └── service/
│   │   │           └── UsuarioService.java
│   │   └── resources/
│   │       ├── application.properties
│   │       └── static/
│   │           ├── index.html
│   │           ├── login.html
│   │           ├── cadastro.html
│   │           ├── perfil.html
│   │           ├── endereco.html
│   │           ├── js/
│   │           └── css/
│   └── test/
└── pom.xml

Testes

Executar testes

mvn test

Os testes de integração validam a conexão com o MongoDB e as operações das APIs principais.

Segurança

  • As senhas são criptografadas usando BCrypt antes de serem salvas no banco de dados
  • A senha nunca é retornada nas respostas da API
  • Validações de email e senha são realizadas tanto no frontend quanto no backend

Troubleshooting

Erro de conexão com MongoDB

  • Verifique se o MongoDB está rodando: mongosh ou mongo
  • Verifique a porta e host no application.properties

Erro de CORS

  • O CORS já está configurado para permitir todas as origens
  • Se ainda houver problemas, verifique a configuração em CorsConfig.java

Porta 8080 já em uso

  • Altere a porta no application.properties: server.port=8081
  • Atualize as URLs nas páginas HTML também

Desenvolvido com

  • Spring Boot 3.2.0
  • Spring Data MongoDB
  • BCrypt para hash de senhas
  • MongoDB

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors