Skip to content

PetPals aimed to create an inclusive community for pet lovers, offering a platform where users can adopt pets, find information on pet care, and connect with other pet owners. Our choice to develop this website stems from a recognized need for a dedicated space where potential pet owners can find the right companion while ensuring pets find

Notifications You must be signed in to change notification settings

sumit1921184/PetPals

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

Introduction

PetPals aimed to create an inclusive community for pet lovers, offering a platform where users can adopt pets, find information on pet care, and connect with other pet owners. Our choice to develop this website stems from a recognized need for a dedicated space where potential pet owners can find the right companion while ensuring pets find.

Project Type

  • Full Stack

Deployed App

PetPals

Directory Structure

my-app/
├─ backend/
│  ├─ config/
│  │  └─ db.js
│  ├─ middleware/
│  │  ├─ access.middleware.js
│  │  └─ auth.middleware.js
│  ├─ model/
│  │  ├─ application.model.js
│  │  ├─ blacklist.model.js
│  │  ├─ pet.model.js
│  │  └─ user.model.js
│  ├─ routes/
│  │  ├─ application.routes.js
│  │  ├─ pet.routes.js
│  │  └─ user.routes.js
│  └─ index.js
└─ frontend/
   ├─ src/
   │  ├─ assets/
   │  │  └─ img/
   │  ├─ Components/
   │  │  ├─ Article.js
   │  │  ├─ FirstDiv.jsx
   │  │  │  ├─ Footer.jsx
   │  │  ├─ LoginForm.js
   │  │  ├─ Menu.jsx
   │  │  ├─ Navbar.jsx
   │  │  ├─ Review.js
   │  │  └─ SignUp.jsx
   │  ├─ CSS/
   │  │  ├─ Application.css
   │  │  ├─ Article.css
   │  │  ├─ Login.css
   │  │  ├─ Navbar.css
   │  │  ├─ Review.css
   │  │  └─ Signup.css
   │  ├─ Pages/
   │  │  ├─ About.jsx
   │  │  ├─ Adopt.jsx
   │  │  ├─ Contact.jsx
   │  │  ├─ Homepage.jsx
   │  │  ├─ Login.jsx
   │  │  ├─ MyApplication.jsx
   │  │  └─ Signup.jsx
   │  ├─ Redux/
   │  │  ├─ action.js
   │  │  ├─ actionTypes.js
   │  │  ├─ reducer.js
   │  │  └─ store.js
   │  ├─ Routing/
   │  │  ├─ AllRoutes.jsx
   │  │  └─ PrivateRouting.jsx
   │  ├─ App.jsx
   │  ├─ main.jsx
   │  ├─ api.js
   │  └─ index.html
   └─ Readme.md

Video Walkthrough

video1136951398.mp4
  • Codebase Walkthrough: [1-5 minutes video link]

Features

  • Dynamic searching for pets: Advanced search and filters features for searching pets.
  • Responsive Design: Mobile-first, responsive design for a consistent cross-device experience.
  • Streamlined Checkout: Simplified one-page checkout process to enhance user satisfaction.
  • Admin Panel: Admin panel to handle backend and do basics crud operation.

Design Decisions and Assumptions

Design Decisions

  • React and Context API for State Management: Chose React for its component-based architecture, facilitating reusable UI components, and Context API to manage global state like the fetching pets ensuring a seamless user experience across the application.
  • Integration of viewing status of an application: Implemented a fetures to view the applicatioin status of applied application.

Assumptions

  • Simplified Adoption Process: Assumed users prefer a fast and hassle-free adoption process, leading to the implementation of a streamlined adoption process to reduce steps and potential friction points.

  • Expectation of Real-time Updates: Anticipated that users expect immediate feedback and updates within the adoption process, influencing the decision to implement real-time status updates on available pets and adoption requests, enhancing the overall adoption experience.

Installation & Getting Started

Quickly set up and start the project with these steps:

  1. Install the Project: Clone and install the project's dependencies:
    git clone https://github.com/sumit1921184/PetPals.git
    for backend
    cd backend
    npm install
    
    for frontend
    cd frontend
    npm install

Credentials

For Users

Provide user credentials for authenticated pages:

For Admin

APIs Used

If your application relies on external APIs, document them and include any necessary links or references.

API Endpoints

Pets

  • /pets/:id - Retrieve a specific pet by its ID.
  • GET /pets - Retrieve all available pets with optional pagination.
  • POST /pets - Add a new pet (requires admin access).
  • PATCH /pets/:id - Update details of a pet with the specified ID (requires admin access).
  • DELETE /pets/:id - Delete a pet with the specified ID (requires admin access).
  • Users
  • POST /users/register - Register a new user.
  • POST /users/login - Login a user.
  • POST /users/logout - Logout a user.
  • GET /users - Retrieve all users (requires admin access).
  • GET /users/:id - Retrieve a specific user by ID (requires admin access).
  • DELETE /users/:id - Delete a user by ID (requires admin access).
  • PATCH /users/:id - Update user details by ID (requires admin access). Applications
  • POST /applications/:petId - Apply for adopting a pet with the specified ID.
  • GET /applications - Retrieve all applications (requires admin access).
  • PATCH /applications/update/:id - Update details of an application with the specified ID (requires admin access).
  • DELETE /applications/delete/:id - Delete an application with the specified ID (requires admin access).
  • GET /applications/getApp - Retrieve applications of the authenticated user.

Technology Stack

Frontend:

  • React: For building the user interface.
  • Chakra UI: for making componenets.
  • Tailwind CSS: For styling.
  • React redux: For managing state.

Backend:

  • Mongodb: For database.
  • Node Js: For backend.
  • Express Js For making routes.

ScreenShots

Home Page

home

Login

login

Signup

signup

Adopt

adopt

Application Page

application

Admin Login

localhost_5173_adminlogin (1)

Admin Dashboard

admin Dashboard

Admin Pet Page

admin pet page

Admin Pet&User Add Page

admin pet and user add page

Admin Users Page

admin userlist

Contributors

About

PetPals aimed to create an inclusive community for pet lovers, offering a platform where users can adopt pets, find information on pet care, and connect with other pet owners. Our choice to develop this website stems from a recognized need for a dedicated space where potential pet owners can find the right companion while ensuring pets find

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •