Skip to content

andrewRCr/PetResort

Repository files navigation

PetResort

CI License: MIT

An employee web portal for managing pet boarding and grooming operations, built with TypeScript across the full Express and MongoDB stack. Six domain models — Guests, Clients, Visits, Employees, Kennels, and Services — form an interconnected data layer where visits cross-reference assigned kennels, scheduled services, and check-in state. The visit workflow covers the full operational cycle: scheduling with kennel assignment, check-in and check-out with occupancy tracking, per-service completion logging, and computed billing.

Live Demo   |   Portfolio

Demo credentials: username admin / password admin

Home page Dashboard Visit details Admin panel

Details

Employees manage daily boarding operations — scheduling visits, assigning kennels, tracking service completion, and processing billing — with role-based views separating standard workflows from administrative functions.

  • Six domain models with cross-referenced relationships — Visits track Guests, Kennels, and Services; Guests reference their owner Client and visit history
  • Visit lifecycle from scheduling through kennel assignment, check-in, per-service completion tracking, check-out, and computed billing
  • Two-tier access control: all employees see operational views, admin-flagged users manage Employees, Kennels, and Services
  • Defense-in-depth validation: Joi schemas with custom HTML sanitization extension, Mongoose validation, express-mongo-sanitize, and Helmet CSP
  • Password reset via time-limited crypto tokens with transactional email confirmation
  • Cloudinary image uploads for guest profiles, fuzzy search across records, paginated views, and dynamic breadcrumb navigation

Technology

  • Frontend: EJS, Bootstrap
  • Backend: TypeScript, Node.js, Express
  • Database: MongoDB, Mongoose
  • Auth: Passport.js, session-based
  • Hosting: Heroku

↑ Back to top

About

Full-stack employee portal for pet boarding operations with six interconnected domain models, visit lifecycle management from scheduling through billing, and two-tier role-based access control.

Topics

Resources

License

Stars

Watchers

Forks

Contributors