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
- Bruno
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:runO projeto PetConnect é dividido em dois repositórios separados:
🖥️ Frontend (React) → (https://github.com/amandamats/front-petconnect)
⚙️ Backend (Spring Boot) → este repositório
Essa separação exige configuração para comunicação entre as aplicações via API REST. O frontend consome a API do backend através de requisições HTTP.
Após rodar back-end:
npm install
npm start- executar a aplicação
- acessar
http://localhost:8080/swagger-ui/index.html#- verificar se a documentação está rodando localmente - acessar o Bruno ou Postman
- clicar em importar e depois em url´s
- colar no campo
http://localhost:8080/v3/api-docs
Após executar o projeto acessar http://localhost:8080/swagger-ui/index.html#
Estratégia utilizada:
- main
- develop
- feature/*
Fluxo de trabalho:
feature → develop → main
- Polyana Santos
- Arthur Rotthen
- Nathalia Martins
- Amanda Matos
- Arthur Auadi
🚧 Em desenvolvimento