Este projeto é uma API REST desenvolvida com Spring Boot, que permite o gerenciamento de tarefas com autenticação baseada em JWT (JSON Web Token).
- Registro de usuários
- Login com geração de JWT
- Autenticação e autorização com tokens
- Criação, leitura, atualização e remoção de tarefas
- Endpoint para renovação de token (refresh token)
- Documentação interativa com Swagger
- Proteção de rotas com Spring Security
- Java 17+
- Spring Boot
- Spring Security
- JWT
- H2 Database (desenvolvimento)
- Swagger / OpenAPI
- Mapstruct
- PostgreSQL
- Flyway
- Dockerfile
- Render (deploy do Webservice)
- Supabase (deploy do banco de dados de produção)
POST /auth/register— Registrar novo usuárioPOST /auth/login— Autenticação e geração de tokenPOST /auth/refresh-token— Renovação do tokenGET /tasks— Listar tarefas (protegido)POST /tasks— Criar tarefa (protegido)GET /tasks/id— Buscar tarefa por ID (protected)PUT /tasks/id— Atualizar tarefa por ID (protected)DELETE /tasks/id— Deletar tarefa por ID (protected)
This is a RESTful API built with Spring Boot for managing tasks with JWT-based authentication.
- User registration
- Login with JWT generation
- Stateless authentication and route protection
- Task CRUD operations
- Token refresh endpoint
- Swagger documentation
- Spring Security integration
- Java 17+
- Spring Boot
- Spring Security
- JWT
- H2 Database (for development)
- Swagger / OpenAPI
- Mapstruct
- PostgreSQL
- Flyway
- Dockerfile
- Render (deploy the production Webservice)
- Supabase (deploy the production database)
POST /auth/register— Register a new userPOST /auth/login— Login and get tokenPOST /auth/refresh— Refresh your JWTGET /tasks— List tasks (protected)POST /tasks— Create a task (protected)GET /tasks/id— List task by ID (protected)PUT /tasks/id— Update task by ID (protected)DELETE /tasks/id— Delete task by ID (protected)
Este projeto está licenciado sob a MIT License.
Feito com 💻 por Breno Nunes