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! 🐾❤️