Sistema de gerenciamento de adoção de cães e gatos desenvolvido para a disciplina de Implementação de Software.
O projeto tem como objetivo facilitar o processo de adoção de pets, permitindo o gerenciamento de animais, adotantes e adoções de forma organizada e segura.
- Java 21
- Spring Boot
- Spring Data JPA
- Hibernate
- Maven
- PostgreSQL
- Git
- GitHub
- Postman
- Trello
O projeto segue o padrão:
MVC + Service Layer
Estrutura principal:
src/main/java/com/petconnect ├── controller ├── service ├── repository ├── entity ├── dto ├── exception ├── config
- Cadastro de pets
- Atualização de pets
- Exclusão de pets
- Listagem de pets
- Cadastro de adotantes
- Consulta de adotantes
- Processo de adoção
- Controle de pets adotados
- Validações de negócio
- Pets disponíveis
- Pets adotados
- Histórico de adoções
- Um pet não pode ser adotado duas vezes
- O adotante deve estar cadastrado
- Pets adotados não aparecem como disponíveis
- Campos obrigatórios devem ser validados
A API possui tratamento global de exceções utilizando:
- @RestControllerAdvice
- ResponseEntity
- Status HTTP padronizados
Exemplo de resposta:
{
"timestamp": "2026-05-18T22:30:00",
"status": 400,
"error": "Bad Request",
"message": "Pet já adotado",
"path": "/adocoes"
}git clone URL_DO_REPOSITORIOCriar banco:
CREATE DATABASE petconnect;spring.datasource.url=jdbc:postgresql://localhost:5432/petconnect
spring.datasource.username=postgres
spring.datasource.password=senhamvn spring-boot:run| Método | Endpoint | Descrição |
|---|---|---|
| GET | /pets | Listar pets |
| POST | /pets | Cadastrar pet |
| PUT | /pets/{id} | Atualizar pet |
| DELETE | /pets/{id} | Remover pet |
Estratégia utilizada:
- main
- develop
- feature/*
Fluxo de trabalho:
feature → develop → main
- Polyana Santos
- Arthur Rotthen
- Nathalia Martins
- Amanda Mattos
- Arthur Auadi
🚧 Em desenvolvimento