An open API service indexing awesome lists of open source software.

https://github.com/useraar/pawly_project

Pawly: An innovative startup platform for pet care and adoption, connecting pet owners, shelters, and caretakers to create a better world for animals.
https://github.com/useraar/pawly_project

Last synced: 4 months ago
JSON representation

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

Awesome Lists containing this project

README

          

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@example.com"
    }



  • 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.