Projeto feito para demonstrar o uso de ferramentas Java, incluindo Spring Data JPA, OpenAPI e Postgre SQL. É implantado no Railway. Permite ao usuário fazer listas to-do (lista de tarefas), usando operações CRUD (Create, Read, Update, Delete).
- Spring Boot: framework para aplicações Java
- Spring Data JPA: biblioteca
- H2 Database
- PostgreSQL
- Open API (Swagger)
- Railway
- Maven
- Controller: Lida com solicitações HTTP recebidas e retorna respostas; coloca endpoints REST para gerenciar itens de tarefas
- Service Layer: Contém a lógica para gerenciar os itens da lista; interage com a layer de repositório para realizar operações de banco de dados
- Repository Layer: Provem uma interface para interagir com o banco de dados usando Spring Data JPA
- Model Layer: Representa a estrutura de dados e mapas para o banco de dados
- Modelo (todo.java): id, title, description e completed - passos do uso da lista; anotado com @Entity para mapear a classe para uma tabela de dados
- Repositório (todorepository.java): estende JPA Repository para operações CRUD para entidade todo; Spring Data JPA fornece implementações padrão
- Serviço (todoservice.java): contém metodos para gerenciar os itens da lista:
- getAllTodos(): recupera todos os itens
- getTodoById(Long id): recupera um item pelo id
- CreateTodo(Todo todo): cria um novo item
- updateTodo(Long id, Todo todoDetails): atualiza um item existente
- deleteTodo(Long id): deleta um item pelo seu id
- Controller (todoController.java): coloca REST endpoints para gerenciar itens to-do:
- GET /api/todos: repara todos os itens
- GET /api/todos/{id}: recupera um item pelo id
- POST /api/todos: cria um novo item
- PUT /api/todos/{id}: atualiza um item existente
- DELETE /api/todos/{id}: deleta um item pelo id