Este projeto consiste em uma API Rest desenvolvida em Java com Spring Security, Flyway Migrations, JWT e MySQL, enquanto no frontend é utilizado Angular. O objetivo principal é realizar a autenticação de usuários com diferentes papéis, sendo ADMIN e USER, onde o ADMIN pode cadastrar e listar produtos, enquanto o USER pode apenas visualizar esses produtos.
- Cadastro de usuários (login, senha, role)
- Login utilizando JWT para geração de tokens
- Autenticação de usuários
- Cadastro de produtos e listagem (ADMIN)
- Listagem de produtos (USER)
- Clone o repositorio
https://github.com/felipeoliveir44/spring-security.git
- Navegue até o diretório do projeto clonado:
cd backend
- Utilize o Maven para compilar o projeto e baixar as dependências necessárias:
mvn clean install
- Após concluir o processo de compilação e download das dependências, você pode iniciar o servidor Spring Boot usando o seguinte comando:
mvn spring-boot:run
- Navegue ate sua pasta e utilize os comandos para o diretório do projeto e baixe as dependências
cd frontend
npm install
- Após baixar as dependências, abra o terminal da sua IDE, utilize o seguinte comando para iniciar o servidor de desenvolvimento:
ng serve
- Após iniciar o servidor, abra o navegador e acesse o seguinte endereço:
http://localhost:4200/
A API fornece os seguintes endpoints:
POST /auth/cadastrar - Registrar um novo usuário (login, password, role).
POST /auth/login - Realizar o login (login, password)
POST /produto/cadastrar - Registrar um novo produto (nome, preco)
GET /produto/listar - Listar todos os produtos