Web-based software starter for dog boarding facilities that also offer daycare, grooming, retail, and billing operations.
- Home page + login-capable frontend (
public/) - Authentication + role-based access
- Facility settings with kennel count, tax rates, and pricing
- Calendar availability + reservation quoting for day/night billing
- Customer + pet records
- Employee records
- Grooming appointment records
- Inventory item records
- Invoice and sales tax calculation endpoints
- Customer self-service portal (signup/login/pets/booking)
npm install
npm startDefault local URL: http://localhost:3000
Demo login:
- email:
admin@milo.local - password:
ChangeMe123!
See:
docs/api-overview.mddocs/data-model.mddocs/product-roadmap.md
- Public homepage:
https://milo-production-aac7.up.railway.app/ - Hosted portal URL:
https://milo-production-aac7.up.railway.app/portal.html - Customers request signup, confirm by email link, create password, then log in to add pets, quote services, and submit reservations.
- Staff console:
https://milo-production-aac7.up.railway.app/app.html
Set these Railway variables for real email delivery:
SMTP_HOSTSMTP_PORT(e.g.587)SMTP_USERSMTP_PASSMAIL_FROM(e.g.no-reply@yourdomain.com)PUBLIC_BASE_URL(e.g.https://milo-production-aac7.up.railway.app)
If SMTP is not configured, MILO still creates confirmation links and logs them for manual testing.
Embed this portal on your public website:
<iframe
src="https://milo-production-aac7.up.railway.app/portal.html"
title="MILO Booking Portal"
width="100%"
height="900"
style="border:0;max-width:1200px;"
loading="lazy"
></iframe>- Push changes to
mainon GitHub. - Railway auto-deploys from that branch.
- Ensure environment variables in Railway:
JWT_SECRET(required for production)TOKEN_TTL(optional, default12h)
The app automatically binds to Railway PORT.