Skip to content

Pawly: An innovative startup platform for pet care and adoption, connecting pet owners, shelters, and caretakers to create a better world for animals.

License

Notifications You must be signed in to change notification settings

UserAAR/Pawly_project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Welcome to Pawly 🐾

Pawly is a dynamic pet adoption and care management platform designed to streamline the process of adopting, surrendering, and caring for animals. The application connects users with shelters, veterinarians, and other pet-related services, aiming to improve the quality of life for pets and their owners.


About

Pawly is a startup project that originated from a need for a user-friendly system to support animal welfare. The project was initially designed using Figma to ensure a seamless and intuitive user experience. It integrates a full-stack approach with a Spring Boot backend and a dynamic, responsive frontend.

Website Preview

Check out our live website:

Pawly Website Preview

Features

  • Pet Adoption & Surrender: Users can browse pets available for adoption or surrender their own pets, with filtering options based on species, breed, and location.
  • User Authentication: Secure login and registration with JWT-based authentication to manage user sessions.
  • Veterinarian Services: A database of veterinarians with their services, contact information, and user reviews.
  • Favorite Lists: Users can save their favorite pets and shelters for easy access later.
  • Dynamic Frontend: The frontend dynamically integrates data from the backend using AJAX and API calls.
  • Mobile-Friendly: The project is designed to be responsive and optimized for both desktop and mobile devices.

Technologies Used

Backend

  • Java & Spring Boot: The backend is built using Spring Boot, enabling RESTful API services and secure user authentication.
  • JWT Authentication: JSON Web Tokens are used to secure communication between the client and the server.
  • Jackson for JSON: Handles JSON parsing and serialization.
  • File-based Storage: The project initially uses stream-based file storage for user and pet data.

Frontend

  • HTML5, CSS3, JavaScript: Core technologies for building the structure and style of the application.
  • AJAX & Fetch API: For handling dynamic data fetching and updating the UI in real-time.
  • Responsive Design: CSS media queries ensure the site adapts to different screen sizes.
  • Figma Prototyping: The project was designed in Figma to ensure a smooth, user-centered interface before development began.

Installation & Setup

  1. Clone the repository:
    git clone https://github.com/yourusername/pawly.git
  2. Navigate to the project directory and install the necessary backend dependencies:
    cd pawly/backend
    ./mvnw install
  3. Run the Spring Boot backend:
    ./mvnw spring-boot:run
  4. Serve the frontend by opening index.html in your browser or using a local server (e.g., Live Server in VS Code).

API Documentation

User Authentication

Login User

  • Endpoint: POST /api/auth/login
  • Request Body:
    {
        "username": "yourUsername",
        "password": "yourPassword"
    }
  • Response:
    {
        "token": "yourAccessToken",
        "user": {
            "id": 1,
            "username": "yourUsername",
            "role": "USER"
        }
    }

Register User

  • Endpoint: POST /api/auth/register
  • Request Body:
    {
        "username": "newUsername",
        "password": "newPassword",
        "email": "[email protected]"
    }
  • Response:
    {
        "message": "User registered successfully"
    }

Pet Management

Get All Pets

  • Endpoint: GET /api/pets
  • Response:
    [
        {
            "id": 1,
            "name": "Buddy",
            "species": "Dog",
            "breed": "Golden Retriever",
            "age": 4,
            "adoptionStatus": "Available"
        },
        {
            "id": 2,
            "name": "Whiskers",
            "species": "Cat",
            "breed": "Siamese",
            "age": 2,
            "adoptionStatus": "Adopted"
        }
    ]

Add New Pet

  • Endpoint: POST /api/pets
  • Request Body:
    {
        "name": "Fluffy",
        "species": "Rabbit",
        "breed": "Holland Lop",
        "age": 1,
        "adoptionStatus": "Available"
    }
  • Response:
    {
        "message": "Pet added successfully"
    }

Veterinarian Services

Get All Veterinarians

  • Endpoint: GET /api/veterinarians
  • Response:
    [
        {
            "id": 1,
            "name": "Dr. Jane Doe",
            "specialty": "General",
            "location": "123 Main St",
            "phone": "555-1234"
        },
        {
            "id": 2,
            "name": "Dr. John Smith",
            "specialty": "Surgery",
            "location": "456 Elm St",
            "phone": "555-5678"
        }
    ]

Add New Veterinarian

  • Endpoint: POST /api/veterinarians
  • Request Body:
    {
        "name": "Dr. Alex Johnson",
        "specialty": "Dentistry",
        "location": "789 Oak St",
        "phone": "555-9876"
    }
  • Response:
    {
        "message": "Veterinarian added successfully"
    }

Future Plans

We are constantly working to improve Pawly. Some upcoming features include:

  • Enhanced user profiles with more pet management options.
  • Integration of a chat feature for users to connect with shelters directly.
  • Mobile app version for easier access on the go.

License

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

About

Pawly: An innovative startup platform for pet care and adoption, connecting pet owners, shelters, and caretakers to create a better world for animals.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published