{"id":27159145,"url":"https://github.com/chrome99/pet-match","last_synced_at":"2026-04-13T02:05:02.244Z","repository":{"id":191620101,"uuid":"685027487","full_name":"chrome99/pet-match","owner":"chrome99","description":"Full-stack pet adoption platform, featuring OpenAI chatbot.","archived":false,"fork":false,"pushed_at":"2025-02-11T14:41:00.000Z","size":9839,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-11T15:23:48.501Z","etag":null,"topics":["chatbot","fullstack","mongodb","openai-api","socket-io","typescript","webapp","yup-validation"],"latest_commit_sha":null,"homepage":"https://pet-match-app.netlify.app/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/chrome99.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-08-30T11:07:32.000Z","updated_at":"2025-02-11T14:41:04.000Z","dependencies_parsed_at":"2025-02-11T15:34:04.090Z","dependency_job_id":null,"html_url":"https://github.com/chrome99/pet-match","commit_stats":null,"previous_names":["chrome99/pet-match-fe","chrome99/pet-match"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chrome99%2Fpet-match","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chrome99%2Fpet-match/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chrome99%2Fpet-match/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chrome99%2Fpet-match/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chrome99","download_url":"https://codeload.github.com/chrome99/pet-match/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247941707,"owners_count":21022037,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chatbot","fullstack","mongodb","openai-api","socket-io","typescript","webapp","yup-validation"],"created_at":"2025-04-08T22:49:50.699Z","updated_at":"2026-04-13T02:05:02.197Z","avatar_url":"https://github.com/chrome99.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/user-attachments/assets/de90a6f8-f43c-4e8f-bbb3-0caea89f266e\" alt=\"Pet Match Logo\" width=\"500\" /\u003e\n  \u003ch1\u003ePet Match Web App\u003c/h1\u003e\n  \n  [![Netlify Status](https://api.netlify.com/api/v1/badges/4bb04b6d-881a-4666-9dfc-f4a08562babe/deploy-status)](https://pet-match-app.netlify.app/)\n  [![Docker Hub](https://img.shields.io/docker/image-size/chrome99/pet-match/frontend?label=Docker%20Hub\u0026color=green)](https://hub.docker.com/repository/docker/chrome99/pet-match/general)\n\n\u003c/div\u003e\n\nThis project is a full-stack web application developed as the final project for the Israel Tech Challenge \u003c itc \u003e bootcamp. It showcases my abilities in Frontend and Backend development, and incorporates various technologies and features. The Pet Match application is designed to help pet lovers find their perfect companions. Whether you're looking to adopt, foster, or return a pet, the website provides an intuitive platform to connect with adorable pets in need of a loving home. The project is built using React, TypeScript, Node.js, and MongoDB. It utilizes additional libraries and services such as OpenAI for chatbot functionality, Socket.IO for real-time chat, Formik and Yup for form validation, Bootstrap for styling, and deployment on Netlify for the frontend and Heroku for the backend.\n\nA live version of the Pet Match Website is available [here.](https://pet-match-app.netlify.app/)\n\nhttps://github.com/user-attachments/assets/ca0e14c1-fed3-404b-9513-50adc2bd34bb\n\n## Features\n\n- **Homepage**: The homepage greets users with a modern and visually appealing interface. It features a responsive carousel that showcases the most recently added pets.\n\n- **Search Page**: Explore various search criteria to refine your search and discover pets that match your preferences. The search results are presented in a paginated format, ensuring easy navigation and access to all available pets.\n\n- **Contact Page with Virtual Assistant**: The Contact page provides a convenient chat interface where you can interact with a virtual assistant. Powered by the Open-AI GPT-3.5 model, the virtual assistant is capable of answering a wide range of questions, such as how to navigate the site, details about the adoption process, and more. In case you require further assistance, the chat can be seamlessly transferred to a human admin who will be happy to help.\n\n- **Pet Profiles**: Clicking on a pet from the search results will take you to its detailed profile page. Get to know each pet personally through additional information, including breed, age, adoption status, etc. From the pet profile, you can take action by choosing to adopt, foster, or return a pet.\n\n- **My Pets Page**: Keep track of your adopted or fostered pets through the \"My Pets\" page. This personalized section allows you to view the pets you have welcomed into your home. Additionally, you can maintain a Wishlist of pets you're interested in, making it easier to find them later.\n\n- **Profile Page**: The profile page enables you to edit and manage your personal information. Update your details and ensure that your profile accurately reflects your personal information and contact information.\n\n- **Dashboard for Admins**: Admins have access to a dashboard that allows them to monitor user and pet activity on the site. From the dashboard, admins can view all registered users, manage their administrative privileges, and oversee the entire pet collection. Admins have the authority to edit pet details, add also add new pets.\n\n## Technologies Used\n\n- **Frontend**: React, TypeScript, Socket.IO, Formik, Yup, Bootstrap.\n\n- **Backend**: Node.js, MongoDB (with Mongoose), OpenAI, Socket.IO, Cloudinary, Multer, Jsonwebtoken, Bcrypt.\n\n## Installation and Setup\n\nClone the repository:\n\n```sh\ngit clone https://github.com/chrome99/pet-match.git\ncd pet-match\n```\n\n### Run with Docker Compose\n\n```sh\ndocker compose up -d\n```\n\n### Run Locally\n\n```sh\necho \"URI=mongodb://mongodb:27017/petAdoption\" \u003e\u003e backend/.env\ndocker compose up -d mongodb\ncd frontend \u0026\u0026 npm install \u0026\u0026 npm start \u0026\ncd ../backend \u0026\u0026 npm install \u0026\u0026 yarn dev\n```\n\n### Default credentials (Local only)\n\n- **Admin:**\n\n  - **Username:** a@a.com\n  - **Password:** 123123Az\n\n- **Client:**\n  - **Username:** b@b.com\n  - **Password:** 123123Az\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchrome99%2Fpet-match","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchrome99%2Fpet-match","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchrome99%2Fpet-match/lists"}