PetPatron is a web application designed to connect animal lovers with local shelters.
- Live Application: https://www.petpatron.help/
- GitHub Repository: https://github.com/GGC0des/petpatron
PetPatron is a platform designed to facilitate connections between animal welfare organizations and individuals interested in supporting their causes. It provides a structured way to assist shelters through donations, volunteering, and adoption.
- Urgent Support / Emergencies – A dedicated page for critical fundraisers and immediate calls for assistance, such as requests for essential supplies or emergency medical funding.
- Animal Search & Volunteering – A searchable directory of shelter animals, filtered by postal code, allowing users to explore volunteering opportunities. Available caretaking options include fostering, dog walking, grooming, playtime, and adoption.
- Shelter Listings & Profiles – A comprehensive listing of registered shelters, featuring their contact details, open hours, ongoing fundraisers, and available animals.
- Mobile-Responsive Design – Optimized for seamless browsing on desktop, tablet, and mobile devices. (Update Release 2025 - Added responsive design).
- Smooth Animations & Interactive UI – Enhances user experience with modern UI effects and transitions.
- Advanced Search Functionality: Multi-criteria search, including tag-based filtering, to quickly find animals or shelters matching specific preferences.
- Interactive Map Integration: Utilizes Mapbox to display local shelters, allowing users to locate and connect with nearby facilities.
- Account Creation & Customized Interfaces - enhancing user experience for different user roles.
- Volunteer Booking System – Personal accounts allow individuals to schedule volunteering actions, with shelters able to confirm or reschedule time slots.
- **Fundraising ** - Note that PetPatron is a demo project. While it includes donation simulation features, it is not integrated with Stripe or any other payment processing service.
Individuals seeking to participate in volunteering or donations can create an account. This enables shelters to confirm or reschedule booked time slots. The dashboard for personal accounts allows animal lovers to manage their personal information, profile picture, manage the booking and status of their voluteering slot, as well as manange their donations to fundraisers.
Any shelter can register and create an administrative account to manage shelter information, confirm, reschedule or decline volunteer bookings, list animals and add tags to specify volunteering options, as well as create, edit and manage fundraising campaigns.
- Backend:
- Ruby on Rails 3.1.2: Provides the core framework for application development.
- Frontend:
- JavaScript (ES6): Enhances interactivity and user engagement.
- Stimulus 1.1.1: Manages JavaScript behavior in a structured manner.
- Mapping:
- Mapbox GL JS: Integrates interactive maps for geolocation features.
- Database:
- PostgreSQL: Manages relational data efficiently.
- Styling:
- SCSS: Facilitates modular and maintainable CSS.
- Authentication:
- Devise: For user and shelter account management.
To run PetPatron locally:
-
Clone the repository:
git clone https://github.com/GGC0des/petpatron.git cd petpatron
-
Install dependencies:
bundle install yarn install
-
Set up the database:
rails db:create
rails db:migrate
rails db:seed
- Start the server:
Access the application at http://localhost:3000.
rails s