Snuggle Squad is a Spring Boot 3.5 backend project that simulates a pet adoption platform.
It demonstrates authentication, authorization, CRUD APIs, and adoption workflows with a clean layered architecture.
Perfect for learning Spring Boot + JPA + Security, or for use as a starter template for pet adoption apps! πΆπ±πΎ
- User Management β register, login, role-based access (Admin / Registered / Visitor)
- Pet Management β create, view, update, delete pets
- Adoption Applications β apply for pets, track status (
PENDING,APPROVED,REJECTED) - Spring Security β BCrypt password encoding, role-based restrictions
- Database β H2 in-memory DB with seed data for quick start
- Dockerized β simple Dockerfile for containerized deployments
- Testing β JUnit5 test scaffolding included
- Java 21
- Spring Boot 3.5
- Spring Security (BCrypt)
- Spring Data JPA
- H2 Database (in-memory)
- Docker, Maven Wrapper
git clone https://github.com/your-username/snuggle-squad.git
cd snuggle-squad./mvnw spring-boot:rundocker build -t snuggle-squad .
docker run -p 8080:8080 snuggle-squadPOST /registerβ register new userPOST /loginβ login (BCrypt validation)GET /petsβ view all petsGET /pets/{id}β view pet by ID
POST /registered/applicationsβ create adoption applicationGET /registered/petsβ list pets (same as public)
POST /adminβ create petPUT /admin/{id}β update petDELETE /admin/{id}β delete petGET /admin/usersβ list usersGET /admin/applicationsβ list applications
This project is a learning demo for mastering Spring Boot APIs, but it can also serve as the foundation of a real-world pet adoption system. Because every buddy deserves a forever home! πΎβ€οΈ