Skip to content

Repository files navigation

🐾 Pet Pals - Pet Adoption Platform

Pet Pals is a full-stack MERN Stack web application that connects loving families with pets looking for a new home. Users can browse available pets, view detailed information, submit adoption requests, and manage their own requests. Pet owners or shelters can create and manage pet listings and handle adoption requests through a dedicated dashboard.

🌐 Live Website

🔗 https://pet-pals.vercel.app/

🌐 Live Server Side

🔗 https://pet-pulse-server.vercel.app/


🎯 Project Purpose

The main goal of this project is to provide a modern and user-friendly pet adoption platform where:

  • People can find their perfect pet companion.
  • Pet owners and shelters can manage pet listings.
  • Adoption requests are handled securely.
  • Only authenticated users can adopt pets.
  • The adoption process is organized and transparent.

✨ Key Features

  • 🐶 Browse all available pets with search, filtering, and sorting.
  • 🔐 Secure authentication with Email/Password and Google Sign-In.
  • ❤️ Authenticated users can submit and manage adoption requests.
  • 📋 Pet owners can add, update, and delete their own pet listings.
  • ✅ Approve or reject adoption requests from the dashboard.
  • 🚫 Pet owners cannot adopt their own pets.
  • 🔒 JWT authentication with HTTPOnly cookies for secure private routes.
  • 📱 Fully responsive design for mobile, tablet, and desktop devices.
  • 🔔 Beautiful toast notifications instead of default browser alerts.
  • ⚡ Custom 404 page and loading spinner for better user experience.

🛠️ Technologies Used

Frontend

  • Next.js
  • React.js
  • Tailwind CSS
  • HeroUI
  • Framer Motion
  • React Icons
  • Lucide React

Backend

  • Node.js
  • Express.js
  • MongoDB
  • Better Auth
  • JWT Authentication
  • HTTPOnly Cookies

Deployment

  • Vercel (Client)
  • Render / Vercel Server
  • MongoDB Atlas

📦 NPM Packages Used

Client Side

next
react
react-dom
tailwindcss
@heroui/react
framer-motion
react-icons
lucide-react
react-hot-toast
date-fns

🚀 Main Functionalities

Public Features

  • Home Page
  • Featured Pets
  • All Pets Listing
  • Search Pets
  • Filter by Species
  • View Pet Details

Authentication

  • User Registration
  • User Login
  • Google Login
  • Protected Routes
  • JWT with HTTPOnly Cookies

User Dashboard

  • My Requests
  • Add New Pet
  • My Listings
  • Cancel Adoption Requests

Pet Owner Dashboard

  • Manage Pet Listings
  • Update Pet Information
  • Delete Pet
  • View Adoption Requests
  • Approve or Reject Requests

🔒 Security Features

  • Protected API routes
  • JWT Authentication
  • HTTPOnly Cookies
  • Environment Variables for sensitive data
  • Secure MongoDB credentials
  • Private Route Protection

📂 Project Structure

Pet Pals
│
├── 
│   ├── app/
│   ├── components/
│   └── utils/
│
└── README.md

⚙️ Environment Variables

Create a .env.local file for the client and a .env file for the server.

Client

NEXT_PUBLIC_API_URL=your_api_url

---

## 🎨 Project Highlights

* Clean and recruiter-friendly UI
* Responsive design
* Fast and optimized performance
* Modern dashboard experience
* Real-world CRUD operations
* Advanced pet search and filtering

---

## 👨‍💻 Developer

**Md Sabilul Bari**

GitHub: https://github.com/sabilulbari

---

## 📜 License

This project is developed for learning purposes and portfolio showcase.

About

Pet Pulse is a web application that connects loving families with pets looking for a new home. Users can browse available pets, view detailed information, submit adoption requests, and manage their own requests. Pet owners or shelters can create and manage pet listings and handle adoption requests through a dedicated dashboard.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages