HappyPaws
HappyPaws is a full-stack veterinary clinic management application built using React and Spring Boot, inspired by the modern Spring PetClinic architecture. It demonstrates real-world CRUD operations, RESTful APIs, layered architecture, and basic security in an enterprise-style setup.
Install / Use
/learn @MSubham06/HappyPawsREADME
HappyPaws – Spring PetClinic Application
Care for Every Paw! Visit Website
HappyPaws is a full-stack web application developed using React and Spring Boot, based on the modern Spring PetClinic architecture. The project demonstrates real-world enterprise application development practices such as layered architecture, RESTful APIs, database persistence, and role-based security.
This project is submitted as a Final Year B.Tech project for the Computer Science & Machine Learning (CSM) program at SVCET, Chittoor.
--
Project Overview
The traditional Spring PetClinic application mainly focuses on backend concepts and does not reflect modern enterprise-level development. HappyPaws enhances this by integrating a React-based frontend with a Spring Boot backend, making it closer to a production-oriented full-stack application.
The system is designed to manage veterinary clinic operations including owners, pets, visits, and veterinarians through a centralized and structured platform.
Objectives
- To design and develop a full-stack web application using React and Spring Boot
- To implement CRUD operations on real-world entities
- To follow layered architecture principles
- To build RESTful APIs with proper database persistence
- To create a clean, maintainable, and easy-to-understand the reference project.
Technology Stack
Frontend
- React.js v18.2.0
- HTML5
- CSS3
- JavaScript (ES6+)
Backend
- Java v17
- Spring Boot v3.9.5
- Spring MVC v6.1.x
- Spring Data JPA v3.2.x
Database
- MySQL v8.0.x
Tools
- VS Code v1.107
- Maven v3.9.5
- Git and GitHub v2.40+
- Postman v10+
Modules Implemented
- Owner Module
- Pet Module
- Visit Module
- Veterinarian Module
- Authentication and Authorization Module
Key Features
- User authentication and authorization
- Role-based access control
- Owner, pet, visit, and veterinarian management
- RESTful API-based frontend and backend communication
- Secure and modular layered architecture
System Architecture
The application follows a Client–Server Architecture model:
- The frontend is developed using React and handles user interactions
- Communication between frontend and backend is performed using RESTful APIs with JSON data
- The backend is developed using Spring Boot and follows a layered architecture
- The database layer uses MySQL with object–relational mapping through JPA
- Security is implemented using Spring Security with role-based access control
How to Run the Project
Backend
- Open the backend project in VS Code or IntelliJ
- Configure the MySQL database details in the application properties file
- Run the Spring Boot application
Frontend
- Navigate to the frontend project folder
- Install the required dependencies
- Start the React application
Team Members
- M Subham – Click here to open profile
- Abhishek Kumar (Team Leader) – Click here to open profile
- B Girinath Reddy – Click here to open profile
- Chapala Praveen – Click here to open profile
- Gudipati Jayasimha Vardhan – Click here to open profile
Project Documentation
Project Report (PDF): Click here to open final year project pdf
Limitations
- Designed for single-clinic usage
- Uses basic security mechanisms
- Does not support real-time notifications
- Not optimized for large-scale or high-traffic deployment
Future Enhancements
- JWT-based authentication and authorization
- Deployment on cloud platforms such as AWS or GCP
- Mobile application development
- Migration to a microservices-based architecture
- Integration of AI-based pet health analysis and recommendations
🔗 Reference Websites
🐾 Pet Care & Veterinary Platforms
-
Dr. Pet Online 🔗 Open Website
-
Supertails Clinic 🔗 Open Website
-
Zigly Pet Care 🔗 Open Website
Conclusion
HappyPaws demonstrates a modern full-stack web application using React and Spring Boot. The project effectively bridges academic learning with industry-level development practices by showcasing clean architecture, structured design, and real-world application workflows.
Helping Guides Below
🐾 HappyPaws Database Documentation!
Database Schema: clinic
Database Engine: MySQL 8.0+
Management Tool: MySQL Workbench
📋 1. Prerequisites
Before starting, ensure you have the following installed and ready:
- MySQL Server (Localhost running on port
3306) - MySQL Workbench
- Source Data: Ensure the
database/Dumpfolder is present in your project directory.- Path Example:
C:\Users\HP\Desktop\HappyPaws\database\Dump
- Path Example:
📥 2. How to Import the Database
Follow these steps to restore the clinic database from the project dump files.
Step 1: Open Data Import
- Open MySQL Workbench.
- Connect to your local instance (e.g.,
Local instance MySQL). - In the top menu bar, go to Server $\rightarrow$ Data Import.
Step 2: Select the Source Folder
- Under Import Options, select the radio button:
🔘 Import from Dump Project Folder
- Click the
...button and browse to your project's dump folder:- Select:
.../HappyPaws/database/Dump
- Select:
- Important: Do NOT select "Import from Self-Contained File".
Step 3: Configure Target Schema
- Look at the "Default Schema to be Imported To" section.
- Check the dropdown list for
clinic.- If
clinicexists: Select it. - If
clinicis MISSING:- Click the New... button.
- Type
clinicas the name. - Click OK.
- If
- Ensure
clinicis selected in the dropdown.
Step 4: Execute Import
- In the Select Database Objects to Import box, click on
clinic. - Ensure all table checkboxes on the right side are checked.
- Verify the dropdown setting below is set to: Dump Structure and Data.
- Click the Start Import button (bottom right corner).
✅ 3. Verification
To verify the database is set up correctly:
- Go to the Schemas tab in the left Navigator panel.
- Right-click empty space $\rightarrow$ Refresh All.
- Expand
clinic$\rightarrow$Tables. - Right-click
pets(or any table) $\rightarrow$ Select Rows - Limit 1000. - Success: You should see data populated in the results grid.
📤 4. How to Backup (Export)
If you make changes to the database and want to save a new backup:
- Go to Server $\rightarrow$ Data Export.
- In the left column, click the checkbox for
clinic. - Under Export Options:
- Select Export to Dump Project Folder.
- Choose the path to your
.../HappyPaws/database/Dumpfolder.
- Check "Include Create Schema".
- Click Start Export.
🛠️ 5. Troubleshooting Common Errors
| Error | Cause | Solution |
| :--- | :--- | :--- |
| ERROR 1049: Unknown database 'clinic' | The database schema has not been created yet. | See Step 3: Click the New... button to create the clinic schema first. |
| Dump file not found / Access Denied | The tool is looking for a single .sql file but you provided a folder. | In Step 2, ensure you selected "Import from Dump Project Folder". |
| Table 'clinic.xyz' doesn't exist | You imported data but not the table structure. | Ensure Dump Structure and Data is selected in the dropdown menu. |
| Connection Refused | MySQL Server is not running. | Open Services (Windows) and start the MySQL80 service. |
Backend API
Welcome to the backend API for HappyPaws PetClinic. This system is built with Spring Boot and features a secure, robust authentication system using Spring Security and JSON Web Tokens (JWT).
It serves as the foundation for the PetClinic application, managing Users (Admins, Vets, Owners), Pets, and medical history.
🚀 Key Features
- User Registration: Create new accounts with strict role-based access (
ADMIN,VET,OWNER). - Secure Login: Authenticate users and generate JWT (JSON Web Tokens) for stateless session management.
- Protected Endpoints: Restrict access to sensitive data (like medical records) using Bearer Tokens.
- Role-Based Access Control (RBAC):
- Admins: Have full control to hire (create) Vets and view all system data.
- Vets: Can view appointments and update pet medical records.
- Owners: Can create their profile and view only their own pets and data.
- Profile Linking: The system automatically links a generic "User Login" to a specific "Owner" or "Vet" profile, ensuring data privacy.
🔑 Authentication Guide
The API is secured by default. To interact with it, you must Login first to get a "Key" (Token), and then use that Key to access data.
1. Default Admin Credentials
Use these credentials to test the system immediately or create new Vets:
- Email:
admin@happypaws.com - Password:
admin123(or the password you set during registration)
2. How to Log In (Get Your Token)
This step proves your identity and provides you with a JWT Token.
- Endpoint:
POST /api/auth/login - URL:
http://localhost:8082/api/auth/login
Steps:
- Open Postman.
- Set request method to POST.
- In the Body ta
Related Skills
node-connect
333.7kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
82.0kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
333.7kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
82.0kCommit, push, and open a PR
