Skip to content

Meow Max is a mobile-first appointment scheduling app built for Cat Solutions 305. It allows trappers to book clinic visits and lets staff manage daily appointments. Built with React, Vite, and Firebase.

Notifications You must be signed in to change notification settings

cocampo1005/meowmax

Repository files navigation

Image

🐾 Meow Max – Appointment Scheduling App for Cat Solutions 305

Meow Max is a custom-built, mobile-first appointment scheduling platform created for Cat Solutions 305, a nonprofit dedicated to TNR (Trap-Neuter-Return) and foster care for stray cats. Designed for ease of use by over 80 active trappers and administrative staff, the app brings structure, clarity, and scalability to a chaotic scheduling process.


🚀 Tech Stack

  • Frontend: React (with Vite)
  • Styling: Tailwind CSS with a custom purple theme
  • Backend: Firebase (Authentication, Firestore, Functions, Hosting)
  • Scheduling Logic: Firestore transactions, slot validation, and capacity mapping
  • Cloud Functions: For secure user management and automated appointment status updates

🧠 Engineering Highlights

🏠 At-a-Glance Dashboard for Trappers

The Home and Appointments pages provide quick, easy-to-digest summaries of a trapper’s clinic activity:

  • Upcoming Appointments are front and center ont the homepage and Appointments page, clearly labeled by date and service type.
  • Trappers can see individual details and notes for each appointment, as well as release them individually or all at once.
  • Completed Appointments are set to "Completed" automatically after the its set date with a cloud function chron job and sent to the History tab to let users keep track of past visits and notes.


📅 Intuitive Slot Booking Experience

  • Users select a date from a calendar, then specify how many TNR or Foster service slots they need.
  • Dynamic progress bars visualize how full each category is, helping users understand remaining capacity at a glance.
  • Supports real-time availability, slot type differentiation (TNR vs Foster), and admin overrides.


📊 Admin Dashboard

  • Powerful calendar interface for managing daily appointments
  • Grouped views by trapper, type (TNR or Foster), and notes
  • Editable capacities, bulk booking and cancellations for trappers, and performance metrics


🔐 Role-Based Access Control

  • Trappers: can view availability, book, and cancel their own appointments
  • Admins: can add, edit, and delete any user or appointment
  • Admin-only Firestore Cloud Functions for secure account creation, deletion, and password updates

Accounts Manager


🛠️ Problem Solving & Design Decisions

  • Capacity-First Booking Model: Appointments can't be booked unless an admin explicitly sets capacity for that day — preventing accidental overbooking.
  • Transactional Safety: All bookings occur inside Firestore transactions to ensure atomic updates across capacity documents and appointment records.
  • Performance Metrics: Trapper-level data like appointments completed, over/underbooked rates, and strike counts tracked per user.
  • Scalable Schema: Daily slot capacities are stored by date ID (YYYY-MM-DD), minimizing Firestore reads for monthly and daily queries.

📣 Why Meow Max Stands Out

This project reflects the challenges and craftsmanship of building a real-world operational tool from scratch:

  • Custom UX that anticipates user behavior on mobile
  • Admin-grade tools for batch editing and performance insight
  • Robust error handling, permission control, and backend logic
  • Designed for long-term maintainability and data integrity

About

Meow Max is a mobile-first appointment scheduling app built for Cat Solutions 305. It allows trappers to book clinic visits and lets staff manage daily appointments. Built with React, Vite, and Firebase.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published