Project · CPSC 304
StrayCare: a database-first platform for stray animal care
StrayCare is a community-built tool for tracking stray animals. Every feeding, vaccination, and volunteer action lands in an Oracle schema so nothing falls through the cracks.
The app ties animals, locations, volunteers, communities, feeding events, and vaccinations into one relational model. Volunteers can see who was fed, when shots are due, and which neighborhoods need more help, using real SQL instead of a messy spreadsheet.
Team
Built by a three-person team focused on community care.
Profiles for each animal with age, traits, and location, tied to feeding and vaccine history.
Volunteers are grouped by community so people only manage animals in their area.
Plus Codes anchor every animal and volunteer, so filtering by neighborhood actually works.
Vaccination records include type, dose, date, and vet, so gaps show up fast.
Oracle views make it easy to pull feeding frequency, volunteer activity, and coverage.
Session auth and role checks keep edits limited to the right community.
Database-first design
We started with the Oracle schema. Once the tables made sense, the UI was straightforward because it was just exposing what the database already knew.
Plus Codes act as the location keys. Animal attributes live in their own tables, and vaccinations are stored as separate events so we can analyze them without mixing them into feeding history.
- Normalized tables for animals, volunteers, communities, vets.
- Bridge tables for volunteer-community and animal-location links.
- Separate vaccination and feeding event tables with timestamps.
- Views for “last fed”, “vaccination gaps”, and volunteer activity.
StrayCare ER Diagram (Abstract Version)


