/Path-to-Pet-Client

2024 Google Solution Challenge : Pat(h)-to-Pet

Primary LanguageJavaScript

2024 Google Solution Challenge : Pat(h)-to-Pet

logo

Hello, we are the Path to Pet team from GDSC Soongsil University. 🐾

Member 🐈

Sangwon Choi Seohyeon Choi Eunso Ahn Hwangon Jang
κΉƒν—ˆλΈŒκ³„μ •-ν”„λ‘œν•„μ‚¬μ§„ κΉƒν—ˆλΈŒκ³„μ •-ν”„λ‘œν•„μ‚¬μ§„ κΉƒν—ˆλΈŒκ³„μ •-ν”„λ‘œν•„μ‚¬μ§„ κΉƒν—ˆλΈŒκ³„μ •-ν”„λ‘œν•„μ‚¬μ§„
@ChoiSangwon @candosh @eunsoA @HwanGonJang
PM && Frontend Design && Frontend Design && Frontend Backend && AI

Related Repository 🐢

Introduction Our Solution 🌎

we've developed a website dedicated to abandoned animals, facilitating the search for lost pets and supporting the UN's Sustainable Development Goal for 'Sustainable Cities and Communities.'

Technology πŸ’»

  • The front end was crafted using JavaScript and React, focusing on enhancing development productivity through a design system that organizes the UI into reusable components. This approach, although initially time-consuming, significantly improved reusability, maintenance, and scalability. We utilized styled-components for seamless integration of styles and components, accelerating the development process after setting up the foundational components.

  • The backend used FastAPI. Based on the MVC model , we applied a Facade Pattern to separate the role of the Service Layer and encapsulated the business logic. The language used Python. Python was light and familiar to all of our team members, so it was efficient. As the backend, we used FastAPI, Python's representative backend framework. FastAPI implemented high-performance servers through light and simple usage.

  • And AI implemented image search engine using K-Nearest-Neighbor (KNN) algorithm using Tensorflow . Classification was performed based on the features of the input image, and the most similar n images were selected using Euclidean distance. For the lightest and fastest computation possible, we used Keras' ResNet50 Convolution neural network from Tensorflow and implemented KNN algorithm using scikit-learn . At this time, PCA reduced the dimension to reduce the data size and reduce the computational cost for efficient learning.

UI ⭐️

  • Upon visiting our site, users choose between dogs and cats.
page
  • The next screen provides options to register found abandoned animals, search for lost pets using photos, and browse a complete list of abandoned animals.
page
2.mov
  • The button , "I lost my dog" allows users to upload a photo of their lost pet, displaying animals similar to the photo and providing shelter contact information to offer a chance for reunion.
page page
1.mov
  • Additionally, anyone who finds an abandoned animal can register it with details like photos and location, assisting in its rescue and adoption.
page
  • The entire list of abandoned animals can be searched by date, gender, neutralization, and breed, ensuring detailed access to all protected animals.
page page

Our team's goal πŸ‘Š

This initiative aims to reduce the number of abandoned animals, ease the financial and environmental strain on shelters and governments, and foster a sustainable, animal-friendly community.