Desenvolvi este projeto como parte do meu aprendizado em Spring Boot. O curso ministrado por Lucas Angelo foi uma grande fonte de inspiração e aprendizado. A implementação segue o passo a passo apresentado na playlist no YouTube, que recomendo a todos que desejam se aprofundar no tema.
Siga as instruções abaixo para configurar e executar o projeto na sua máquina local para testes, desenvolvimento e aprendizado.
Certifique-se de ter instalado as ferramentas abaixo antes de começar:
- Java
- Maven
- MySQL
Use o comando abaixo para clonar o repositório:
git clone https://github.com/Athoosz/spring-boot-api.gitEdite o arquivo de configurações do projeto:
src\main\resources\application.propertiesInsira as credenciais conforme sua configuração local do MySQL Server:
# Configuração do Banco de Dados
spring.datasource.url=jdbc:mysql://localhost:3306/todosimple?createDatabaseIfNotExist=true
spring.datasource.username=root <-- username do seu sql
spring.datasource.password=admin <-- senha do seu msqlmvn clean installInicie a aplicação:
mvn spring-boot:runOu va até
src\main\java\com\athosfs\todosimple\TodosimpleApplication.java E clique em Run
🌐 Acesse a API em: http://localhost:8080/
Para acessar a interface de usuário, abra o arquivo login.html ou cadastro.html diretamente no navegador:
🌐 Acesse o Frontend em: http://127.0.0.1:5500/view/login.html
Abaixo estão os principais componentes e funcionalidades organizados para facilitar a navegação no projeto.
SecurityConfig.java: Configurações de segurança do Spring Security.WebConfig.java: Configurações de CORS.
TaskController.java: Gerencia operações relacionadas a tarefas.UserController.java: Gerencia operações relacionadas a usuários.
Task.java: Representa o modelo de uma tarefa.User.java: Representa o modelo de um usuário.ProfileEnum.java: Enumeração para perfis de usuário.TaskProjection.java: Projeção para tarefas.UserCreateDTO.java: DTO para criação de usuários.UserUpdateDTO.java: DTO para atualização de usuários.
TaskRepository.java: Repositório de tarefas.UserRepository.java: Repositório de usuários.
TaskService.java: Lida com a lógica de negócios para tarefas.UserService.java: Lida com a lógica de negócios para usuários.UserDetailsServiceImpl.java: Implementação do serviço de detalhes do usuário.
GlobalExceptionHandler.java: Gerencia exceções globais.ErrorResponse.java: Estrutura de resposta para erros.AuthorizationException.java: Exceção para problemas de autorização.DataBindingViolationException.java: Exceção para violação de integridade de dados.ObjectNotFoundException.java: Exceção para objetos não encontrados.
JWTAuthenticationFilter.java: Filtro para autenticação com JWT.JWTAuthorizationFilter.java: Filtro para autorização com JWT.JWTUtil.java: Utilitário para manipulação de tokens JWT.UserSpringSecurity.java: Implementação deUserDetailspara Spring Security.
TodosimpleApplication.java: Classe principal da aplicação Spring Boot.
TodosimpleApplicationTests.java: Testes de contexto da aplicação.
index.html: Página principal do frontend.cadastro.html: Página para cadastro de novos usuários.login.html: Página de login.style.css: Estilos CSS utilizados no frontend.script.js: Script JavaScript para gerenciar tarefas.cadastro.js: Script JavaScript para o cadastro de usuários.login.js: Script JavaScript para o login de usuários.
- Playlist do curso: YouTube