Skip to content

Latest commit

Β 

History

37 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🐾 PawMart - Pet Adoption & Supply Platform

A Modern Community Platform for Pet Adoption & Pet Supply Shopping

Live Demo Version License: MIT

🌐 Live Demo | πŸ› Report Bug | ✨ Request Feature


πŸ“‹ Table of Contents


🎯 About The Project

PawMart is a modern, community-driven platform that connects pet lovers, adopters, and pet supply sellers in one ecosystem.
It enables users to adopt pets, buy pet supplies, and interact with a caring community - all in one place.

Why PawMart?

  • πŸ• Save Lives - Every adoption gives homeless pets a second chance
  • πŸ›’ One-Stop Shop - Everything your pet needs, all in one platform
  • 🀝 Community Driven - Connect with real pet owners and stores
  • πŸ“± Modern UX - Sleek, responsive, and mobile-friendly interface
  • πŸ”’ Secure - Protected routes with Firebase authentication

✨ Key Features

Core Functionality

  • βœ… Pet Adoption System - Browse and adopt pets with detailed profiles
  • βœ… Pet Supply Store - Food, toys, accessories & more
  • βœ… Advanced Search & Filters - Category & keyword-based filtering
  • βœ… User Authentication - Firebase Email/Password & Google OAuth
  • βœ… Listing Management - Create, edit & delete listings
  • βœ… Order Tracking - Track and view your past orders

User Experience

  • βœ… Dark/Light Theme - Toggle between themes with smooth transitions
  • βœ… Responsive Design - Perfect experience on mobile, tablet, and desktop
  • βœ… Smooth Animations - Powered by Framer Motion
  • βœ… Real-time Notifications - Toast messages for user feedback
  • βœ… Category Navigation - Easy browsing by pet type and product category

πŸ›  Tech Stack

Frontend

  • React 19 - Modern UI library
  • Vite 7 - Lightning-fast build tool
  • React Router 7 - Client-side routing
  • Tailwind CSS 4 - Utility-first styling
  • DaisyUI 5 - Component library
  • Framer Motion 12 - Smooth animations

Backend & Services

  • Firebase Auth - User authentication
  • MongoDB - Database (via REST API)
  • Axios - HTTP client
  • Node.js/Express - Backend API

Additional Tools

  • jsPDF + AutoTable - PDF generation
  • Swiper - Touch slider/carousel
  • React Icons - Icon library
  • React Hot Toast - Notifications
  • SweetAlert2 - Beautiful alerts
  • React Simple Typewriter - Typing effect

πŸš€ Getting Started

Prerequisites

node >= 18.0.0
npm >= 9.0.0

Installation

  1. Clone the repository

    git clone https://github.com/aamamunszone/pawmart-client.git
    cd pawmart-client
  2. Install dependencies

    npm install
  3. Setup environment variables

    Create .env.local file:

    # Firebase Configuration
    VITE_FIREBASE_API_KEY=your_api_key
    VITE_FIREBASE_AUTH_DOMAIN=your_domain.firebaseapp.com
    VITE_FIREBASE_PROJECT_ID=your_project_id
    VITE_FIREBASE_STORAGE_BUCKET=your_bucket.appspot.com
    VITE_FIREBASE_MESSAGING_SENDER_ID=your_sender_id
    VITE_FIREBASE_APP_ID=your_app_id
    
    # API URL
    VITE_API_URL=http://localhost:3000
  4. Start development server

    npm run dev
  5. Open browser

    http://localhost:5173
    

Available Scripts

npm run dev      # Start development server
npm run build    # Build for production
npm run preview  # Preview production build
npm run lint     # Run ESLint

πŸ“‚ Project Structure

pawmart-client/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ assets/              # Images, fonts
β”‚   β”œβ”€β”€ components/          # Reusable components
β”‚   β”‚   β”œβ”€β”€ common/         # Shared components
β”‚   β”‚   β”œβ”€β”€ home/           # Home page sections
β”‚   β”‚   β”œβ”€β”€ listing/        # Listing components
β”‚   β”‚   └── shared/         # Layout components
β”‚   β”œβ”€β”€ contexts/           # React Context
β”‚   β”œβ”€β”€ firebase/           # Firebase config
β”‚   β”œβ”€β”€ hooks/              # Custom hooks
β”‚   β”œβ”€β”€ layouts/            # Page layouts
β”‚   β”œβ”€β”€ pages/              # Page components
β”‚   β”œβ”€β”€ providers/          # Context providers
β”‚   β”œβ”€β”€ routes/             # Route config
β”‚   β”œβ”€β”€ styles/             # Global styles
β”‚   └── main.jsx            # Entry point
β”œβ”€β”€ public/                  # Static files
β”œβ”€β”€ .env.local              # Environment variables
β”œβ”€β”€ package.json            # Dependencies
└── vite.config.js          # Vite config

πŸ“¦ NPM Packages

Core Dependencies

{
  "react": "^19.1.1",
  "react-dom": "^19.1.1",
  "react-router": "^7.9.5",
  "firebase": "^12.5.0",
  "axios": "^1.13.2"
}

UI & Styling

{
  "tailwindcss": "^4.1.17",
  "@tailwindcss/vite": "^4.1.17",
  "daisyui": "^5.4.7",
  "framer-motion": "^12.23.24",
  "react-icons": "^5.5.0",
  "swiper": "^12.0.3"
}

Utilities

{
  "react-hot-toast": "^2.6.0",
  "sweetalert2": "^11.26.3",
  "jspdf": "^3.0.3",
  "jspdf-autotable": "^5.0.2",
  "react-simple-typewriter": "^5.0.1"
}

Development

{
  "vite": "^7.1.7",
  "@vitejs/plugin-react": "^5.0.4",
  "eslint": "^9.36.0"
}

πŸ“Έ Screenshots

Desktop Views

Home Page
Modern hero section with animated carousel

Dark Mode

Dark Theme
Beautiful dark theme support

Mobile Responsive

Mobile View
Responsive mobile view


πŸš€ Deployment

Firebase Hosting

# Install Firebase CLI
npm install -g firebase-tools

# Login
firebase login

# Build
npm run build

# Deploy
firebase deploy

Live Site

🌐 https://pawmart-zone.web.app


πŸ‘¨β€πŸ’» Developer

Abdullah Al Mamun

Full Stack Developer | MERN Stack

GitHub Email


πŸ“ License

This project is licensed under the MIT License - see the LICENSE file for details.


πŸ™ Acknowledgments


Made with ❀️ and 🐾 by Abdullah Al Mamun

⭐ Star this repo if you like it!

About

PawMart is a modern, community-driven platform that connects pet lovers, adopters, and pet supply sellers in one ecosystem. It enables users to adopt pets, buy pet supplies, and interact with a caring community - all in one place.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages