Este projeto é uma API desenvolvida com Spring Boot que oferece as seguintes funcionalidades:
- Cadastro de Usuários: Endpoint
/users
com método POST permite cadastrar um novo usuário. - Listagem de Usuários: Endpoint
/users
com método GET lista todos os usuários cadastrados. Este endpoint requer autenticação. - Autenticação: Endpoint
/login
realiza a autenticação de um usuário e retorna um token JWT.
- Java 21
- Banco de Dados PostgreSQL ou Docker Compose para executar o banco de dados em um contêiner.
A aplicação utiliza Spring Security para gerenciar a autenticação e autorização dos usuários. Para acessar os endpoints protegidos, é necessário incluir o token JWT no cabeçalho da requisição.
O script data.sql localizado em src/main/resources/data.sql é executado automaticamente no início da aplicação, criando a estrutura do banco de dados e registros de teste.
Usuário: admin com perfil ADMIN.
Usuário: user com perfil USER.
Usuário: master com perfils ADMIN e USER.
A senha para todos são 01.
- Certifique-se de ter o PostgreSQL instalado e em execução.
- Configure as credenciais do banco de dados no arquivo
application.properties
. - Execute a aplicação pela sua IDE de desenvolvimento ou compile e execute a aplicação com o Maven:
./mvnw clean install ./mvnw spring-boot:run
- Certifique-se de ter o Docker e o Docker Compose instalados.
- Execute o comando abaixo para iniciar os serviços:
docker-compose up