PetraVerse is a comprehensive pet adoption and lost & found platform designed to help pet owners find their missing pets and connect people with pets in need of adoption. The platform serves as a bridge between pet owners, shelters, veterinarians, and the community to ensure pets find their forever homes or are reunited with their families.
Every year, millions of pets go missing, and many more are in need of adoption. Traditional methods of finding lost pets or adopting new ones are often inefficient and limited to local communities. PetraVerse addresses these challenges by providing:
- A centralized platform for lost and found pet listings
- Easy communication between pet owners and finders
- Comprehensive pet profiles with detailed information
- Location-based search capabilities
- Professional verification and reporting systems
- User registration and authentication
- Profile management with contact information
- Role-based access (User, Admin, Shelter, Veterinarian)
- Password reset and email verification
- Create detailed pet profiles with photos
- Support for multiple pet types (dogs, cats, birds, rabbits, hamsters, fish, others)
- Track pet status (missing, found, reunited)
- Location-based pet search
- Pet adoption listings
- Advanced search filters by location, pet type, breed, color
- Map-based location tracking
- Real-time notifications for matching pets
- Browse pets by category and status
- In-app messaging between users
- Email notifications for important updates
- Real-time status updates
- Contact information sharing
- Report suspicious listings
- Admin moderation system
- User verification processes
- Community guidelines enforcement
- User management and moderation
- Pet listing oversight
- Report handling and resolution
- Platform analytics and insights
-
Create an Account
- Visit the registration page
- Fill in your name, email, phone number, and address
- Choose a strong password
- Verify your email address
-
Complete Your Profile
- Add a profile picture
- Update your contact information
- Set your location preferences
-
Search for Your Pet
- Go to the Search page
- Use filters to narrow down results by location, pet type, breed, or color
- Browse through matching pet listings
-
Report a Missing Pet
- Click "Create Pet Listing"
- Select "Missing" status
- Upload clear photos of your pet
- Provide detailed information (name, breed, color, age, last seen location)
- Add any identifying features or special characteristics
-
Stay Updated
- Enable notifications to receive alerts about potential matches
- Regularly check your dashboard for updates
- Respond promptly to any leads
-
Browse Available Pets
- Visit the Search page
- Filter by "Found" or "Available for Adoption" status
- Use location filters to find pets near you
-
Review Pet Details
- Read the complete pet profile
- Check photos and descriptions
- Review the pet's history and health information
-
Contact the Owner/Shelter
- Use the contact information provided
- Ask questions about the pet's behavior and needs
- Arrange a meeting if interested
-
Create a Found Pet Listing
- Click "Create Pet Listing"
- Select "Found" status
- Upload photos of the found pet
- Provide location and date found
- Add any identifying features
-
Help with Reunion
- Respond to inquiries from potential owners
- Verify ownership through photos or identifying features
- Update the listing status when reunited
-
User Management
- Monitor user accounts and activity
- Handle verification requests
- Manage user roles and permissions
-
Content Moderation
- Review reported listings
- Remove inappropriate content
- Enforce community guidelines
-
Platform Analytics
- View adoption success rates
- Monitor user engagement
- Track platform growth
- React 18 - Modern JavaScript library for building user interfaces
- TypeScript - Type-safe JavaScript for better development experience
- Vite - Fast build tool and development server
- Tailwind CSS - Utility-first CSS framework for styling
- React Router - Client-side routing for single-page applications
- Zustand - Lightweight state management
- React Hook Form - Form handling with validation
- Axios - HTTP client for API requests
- Framer Motion - Animation library for smooth transitions
- Lucide React - Beautiful icon library
- Node.js - JavaScript runtime environment
- Express.js - Web application framework
- MongoDB - NoSQL database for data storage
- Mongoose - MongoDB object modeling tool
- JWT - JSON Web Tokens for authentication
- bcryptjs - Password hashing for security
- Multer - File upload handling
- Cloudinary - Cloud image storage and management
- Nodemailer - Email sending functionality
- Swagger - API documentation
- ESLint - Code linting and formatting
- PostCSS - CSS processing
- Autoprefixer - CSS vendor prefixing
- TypeScript ESLint - TypeScript-specific linting rules
- Node.js (v16 or higher)
- MongoDB (local or cloud instance)
- npm or yarn package manager
-
Clone the repository
git clone <repository-url> cd petAdoption/backend
-
Install dependencies
npm install
-
Environment Configuration Create a
.envfile in the backend directory:NODE_ENV=development PORT=5000 MONGODB_URI=your_mongodb_connection_string JWT_SECRET=your_jwt_secret_key CLOUDINARY_CLOUD_NAME=your_cloudinary_name CLOUDINARY_API_KEY=your_cloudinary_api_key CLOUDINARY_API_SECRET=your_cloudinary_api_secret EMAIL_SERVICE=your_email_service EMAIL_USER=your_email_username EMAIL_PASS=your_email_password CORSWHITELIST=http://localhost:3000
-
Start the server
npm run dev
-
Navigate to frontend directory
cd ../frontend -
Install dependencies
npm install
-
Environment Configuration Create a
.envfile in the frontend directory:VITE_API_URL=http://localhost:5000/api VITE_CLOUDINARY_CLOUD_NAME=your_cloudinary_name
-
Start the development server
npm run dev
-
MongoDB Connection
- Set up a MongoDB database (local or MongoDB Atlas)
- Update the
MONGODB_URIin your backend.envfile
-
Create Admin User
cd backend node scripts/createAdmin.js
The API documentation is available at /api-docs when the backend server is running. It includes:
- Authentication endpoints
- Pet management endpoints
- User management endpoints
- Admin endpoints
- Notification endpoints
- Report endpoints
The backend is configured for deployment on Vercel with the provided vercel.json configuration.
The frontend is configured for deployment on Vercel with the provided vercel.json configuration.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
For support and questions:
- Create an issue in the repository
- Contact the development team
- Check the API documentation
User profile page
Report Management Page (admin)
This project is licensed under the MIT License - see the LICENSE file for details.
PetraVerse - Connecting pets with their forever homes, one adoption at a time. 🐾





.png)






