SkillAgentSearch skills...

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/HappyPaws
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

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


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


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/Dump folder is present in your project directory.
    • Path Example: C:\Users\HP\Desktop\HappyPaws\database\Dump

📥 2. How to Import the Database

Follow these steps to restore the clinic database from the project dump files.

Step 1: Open Data Import

  1. Open MySQL Workbench.
  2. Connect to your local instance (e.g., Local instance MySQL).
  3. In the top menu bar, go to Server $\rightarrow$ Data Import.

Step 2: Select the Source Folder

  1. Under Import Options, select the radio button:

    🔘 Import from Dump Project Folder

  2. Click the ... button and browse to your project's dump folder:
    • Select: .../HappyPaws/database/Dump
  3. Important: Do NOT select "Import from Self-Contained File".

Step 3: Configure Target Schema

  1. Look at the "Default Schema to be Imported To" section.
  2. Check the dropdown list for clinic.
    • If clinic exists: Select it.
    • If clinic is MISSING:
      1. Click the New... button.
      2. Type clinic as the name.
      3. Click OK.
  3. Ensure clinic is selected in the dropdown.

Step 4: Execute Import

  1. In the Select Database Objects to Import box, click on clinic.
  2. Ensure all table checkboxes on the right side are checked.
  3. Verify the dropdown setting below is set to: Dump Structure and Data.
  4. Click the Start Import button (bottom right corner).

✅ 3. Verification

To verify the database is set up correctly:

  1. Go to the Schemas tab in the left Navigator panel.
  2. Right-click empty space $\rightarrow$ Refresh All.
  3. Expand clinic $\rightarrow$ Tables.
  4. Right-click pets (or any table) $\rightarrow$ Select Rows - Limit 1000.
  5. 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:

  1. Go to Server $\rightarrow$ Data Export.
  2. In the left column, click the checkbox for clinic.
  3. Under Export Options:
    • Select Export to Dump Project Folder.
    • Choose the path to your .../HappyPaws/database/Dump folder.
  4. Check "Include Create Schema".
  5. 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:

  1. Open Postman.
  2. Set request method to POST.
  3. In the Body ta

Related Skills

View on GitHub
GitHub Stars17
CategoryDevelopment
Updated1mo ago
Forks0

Languages

JavaScript

Security Score

75/100

Audited on Feb 18, 2026

No findings