This is a full-stack application for a dog adoption agency, featuring an Angular frontend and a Spring Boot backend. It provides functionalities for users to browse available dogs and submit adoption requests, while administrators can manage the pet listings and process adoption applications.
The project adopts a classic client-server architecture, with the Spring Boot application following an MVC (Model-View-Controller) pattern for its backend.
AdoptionController
manages API endpoints for adoption requests, while the DogController
handles API endpoints for dog listings (CRUD operations).Adoption
and Dog
are defined as classes with JPA annotations to map them to database tables.AdoptionRepository
extend Spring’s JpaRepository
to leverage automatic CRUD operations without writing boilerplate code.AdoptionService
and DogService
contain the core business logic, separating it from the controller layer.AdminComponent
and UserComponent
for different user roles.