This is a Spring Boot application for managing a veterinary clinic's operations. The system provides APIs for managing doctors, customers, animals, vaccines, and appointments. The application is developed following a layered architecture pattern, with PostgreSQL as the database and Spring Data JPA for data access. The API endpoints are documented for easy integration and usage.
- Doctor Management: CRUD operations for doctors and their associated available days.
- Customer Management: CRUD operations for customers and their associated animals.
- Animal Management: CRUD operations for animals and their associated vaccinations and appointments.
- Vaccine Management: CRUD operations for vaccines.
- Appointment Management: Creating, updating, viewing, and deleting appointments for animal vaccinations and check-ups.
- Layered Architecture: The application is developed following a layered architecture pattern.
- Dependency Injection: Constructor injection is used for Inversion of Control (IoC) and Dependency Injection (DI).
- Exception Handling: Custom exceptions are used for error handling, ensuring meaningful responses to API users.
- Data Transfer Objects (DTOs): Request and response DTOs are used for API endpoints.
- Database: Postgresql is used as the relational database, with Spring Data JPA for data access.
- API Documentation: API endpoints are documented for easy integration and usage in swagger.
- Sample Data: Sample data is provided in the database for testing and demonstration purposes.
- Ensure you have JDK 11 or later installed.
- Clone this repository.
- Configure the PostgreSQL database in
application.properties
. - Build the project using Maven:
mvn clean install
. - Run the application:
mvn spring-boot:run
.
The API documentation is available at /swagger-ui/index.html
with Swagger UI. The documentation provides details about the API endpoints, request and response bodies, and sample requests.
The UML diagram below shows the class diagram of the Veterinary Management System.
The application provides sample data for testing and demonstration purposes. The sample data is loaded using the data.sql
file.
The Veterinary Management System is a Spring Boot application for managing a veterinary clinic's operations. The system provides APIs for managing doctors, customers, animals, vaccines, and appointments. The application is developed following a layered architecture pattern, with PostgreSQL as the database and Spring Data JPA for data access. The API endpoints are documented for easy integration and usage.
This project has no license. Feel free to use, modify, and distribute the code.