Production Hostnames

This page documents all the production URLs and domain configuration for accessing SaaniCare services in production.

Overview

SaaniCare services are deployed to production using:

  • Vercel: For all web applications and API
  • Custom Domains: All services use *.saanicare.com subdomains
  • SSL/TLS: Automatic HTTPS via Vercel and Let’s Encrypt

Core Services

API Server

  • Production URL: https://api.saanicare.com
  • Platform: Vercel Serverless Functions
  • Deployment: Automatic via GitHub Actions
  • Environment: Production

Frontpage Website

  • Production URL: https://saanicare.com
  • Platform: Vercel
  • Deployment: Automatic via GitHub Actions
  • Environment: Production

User Portals

Parent Portal

  • Production URL: https://parent.saanicare.com
  • Platform: Vercel
  • Deployment: Automatic via GitHub Actions
  • Environment: Production

Teacher Portal

  • Production URL: https://teacher.saanicare.com
  • Platform: Vercel
  • Deployment: Automatic via GitHub Actions
  • Environment: Production

Admin Portal

  • Production URL: https://schooladmin.saanicare.com
  • Platform: Vercel
  • Deployment: Automatic via GitHub Actions
  • Environment: Production

Child Portal

  • Production URL: https://child.saanicare.com
  • Platform: Vercel
  • Deployment: Automatic via GitHub Actions
  • Environment: Production

School District Portal

  • Production URL: https://schooldistrict.saanicare.com
  • Platform: Vercel
  • Deployment: Automatic via GitHub Actions
  • Environment: Production

Superadmin Portal

  • Production URL: https://superadmin.saanicare.com
  • Platform: Vercel
  • Deployment: Automatic via GitHub Actions
  • Environment: Production

Role-Based Portals

Accountant Portal

  • Production URL: https://accountant.saanicare.com
  • Platform: Vercel
  • Deployment: Automatic via GitHub Actions
  • Environment: Production

Health & Counselor Portal

  • Production URL: https://health.saanicare.com
  • Platform: Vercel
  • Deployment: Automatic via GitHub Actions
  • Environment: Production

Childcare Specialist Portal

  • Production URL: https://childcare.saanicare.com
  • Platform: Vercel
  • Deployment: Automatic via GitHub Actions
  • Environment: Production

Registrar Portal

  • Production URL: https://registrar.saanicare.com
  • Platform: Vercel
  • Deployment: Automatic via GitHub Actions
  • Environment: Production

Transportation Portal

  • Production URL: https://transportation.saanicare.com
  • Platform: Vercel
  • Deployment: Automatic via GitHub Actions
  • Environment: Production

Librarian Portal

  • Production URL: https://librarian.saanicare.com
  • Platform: Vercel
  • Deployment: Automatic via GitHub Actions
  • Environment: Production

Receptionist Portal

  • Production URL: https://receptionist.saanicare.com
  • Platform: Vercel
  • Deployment: Automatic via GitHub Actions
  • Environment: Production

Cafeteria Portal

  • Production URL: https://cafeteria.saanicare.com
  • Platform: Vercel
  • Deployment: Automatic via GitHub Actions
  • Environment: Production

IT Coordinator Portal

  • Production URL: https://it.saanicare.com
  • Platform: Vercel
  • Deployment: Automatic via GitHub Actions
  • Environment: Production

Facilities Portal

  • Production URL: https://facilities.saanicare.com
  • Platform: Vercel
  • Deployment: Automatic via GitHub Actions
  • Environment: Production

Driver Portal

  • Production URL: https://driver.saanicare.com
  • Platform: Vercel
  • Deployment: Automatic via GitHub Actions
  • Environment: Production

Security Portal

  • Production URL: https://security.saanicare.com
  • Platform: Vercel
  • Deployment: Automatic via GitHub Actions
  • Environment: Production

Documentation

Documentation Site

  • Production URL: https://docs.saanicare.com
  • Platform: Vercel
  • Deployment: Automatic via GitHub Actions
  • Environment: Production
  • Build Tool: docmd (static site generator)

Domain Configuration

DNS Setup

All production domains use the following DNS configuration:

  • Type: CNAME
  • Name: * (wildcard) or specific subdomain
  • Value: cname.vercel-dns.com (Vercel’s DNS)

SSL/TLS Certificates

  • Provider: Vercel (automatic via Let’s Encrypt)
  • Renewal: Automatic
  • Protocol: TLS 1.2+
  • HTTPS: Enforced for all domains

Domain Verification

Each domain must be verified in Vercel:

  1. Go to Vercel Dashboard → Project Settings → Domains
  2. Add the domain (e.g., parent.saanicare.com)
  3. Follow DNS verification instructions
  4. Wait for SSL certificate provisioning (automatic)

Deployment

Automatic Deployment

All services are automatically deployed via GitHub Actions when:

  • Push to main branch: Triggers deployment for changed services
  • Release published: Deploys all services
  • Manual workflow dispatch: Allows selective deployment

Deployment Configuration

Deployment is configured in .github/workflows/deploy-vercel.yml:

  • Each service has its own deployment job
  • Uses Vercel CLI for deployment
  • Requires Vercel project IDs as GitHub secrets

Required GitHub Secrets

For production deployment, the following secrets must be configured:

  • VERCEL_TOKEN: Vercel authentication token
  • VERCEL_ORG_ID: Vercel organization ID
  • VERCEL_API_PROJECT_ID: API project ID
  • VERCEL_PARENT_WEB_PROJECT_ID: Parent portal project ID
  • VERCEL_TEACHER_WEB_PROJECT_ID: Teacher portal project ID
  • VERCEL_ADMIN_WEB_PROJECT_ID: Admin portal project ID
  • VERCEL_FRONTPAGE_WEB_PROJECT_ID: Frontpage project ID
  • VERCEL_CHILD_WEB_PROJECT_ID: Child portal project ID
  • VERCEL_SCHOOL_DISTRICT_WEB_PROJECT_ID: School district portal project ID
  • VERCEL_SUPERADMIN_WEB_PROJECT_ID: Superadmin portal project ID
  • VERCEL_DOCS_WEB_PROJECT_ID: Documentation site project ID
  • VERCEL_ACCOUNTANT_WEB_PROJECT_ID: Accountant portal project ID
  • VERCEL_HEALTH_COUNSELOR_WEB_PROJECT_ID: Health counselor portal project ID
  • VERCEL_CHILDCARE_SPECIALIST_WEB_PROJECT_ID: Childcare specialist portal project ID
  • VERCEL_REGISTRAR_WEB_PROJECT_ID: Registrar portal project ID
  • VERCEL_TRANSPORTATION_WEB_PROJECT_ID: Transportation portal project ID
  • VERCEL_LIBRARIAN_WEB_PROJECT_ID: Librarian portal project ID
  • VERCEL_RECEPTIONIST_WEB_PROJECT_ID: Receptionist portal project ID
  • VERCEL_CAFETERIA_WEB_PROJECT_ID: Cafeteria portal project ID
  • VERCEL_IT_COORDINATOR_WEB_PROJECT_ID: IT coordinator portal project ID
  • VERCEL_FACILITIES_WEB_PROJECT_ID: Facilities portal project ID
  • VERCEL_DRIVER_MOBILE_PROJECT_ID: Driver portal project ID
  • VERCEL_SECURITY_MOBILE_PROJECT_ID: Security portal project ID

Production URL Reference Table

Service Production URL Platform
API https://api.saanicare.com Vercel
Frontpage https://saanicare.com Vercel
Parent Portal https://parent.saanicare.com Vercel
Teacher Portal https://teacher.saanicare.com Vercel
Admin Portal https://schooladmin.saanicare.com Vercel
Child Portal https://child.saanicare.com Vercel
School District https://schooldistrict.saanicare.com Vercel
Superadmin https://superadmin.saanicare.com Vercel
Accountant https://accountant.saanicare.com Vercel
Health Counselor https://health.saanicare.com Vercel
Childcare Specialist https://childcare.saanicare.com Vercel
Registrar https://registrar.saanicare.com Vercel
Transportation https://transportation.saanicare.com Vercel
Librarian https://librarian.saanicare.com Vercel
Receptionist https://receptionist.saanicare.com Vercel
Cafeteria https://cafeteria.saanicare.com Vercel
IT Coordinator https://it.saanicare.com Vercel
Facilities https://facilities.saanicare.com Vercel
Driver https://driver.saanicare.com Vercel
Security https://security.saanicare.com Vercel
Documentation https://docs.saanicare.com Vercel

Environment Variables

Production services require specific environment variables configured in Vercel:

API Environment Variables

  • DATABASE_URL: Production PostgreSQL connection string
  • REDIS_URL: Production Redis connection string
  • AUTH0_DOMAIN: Auth0 domain
  • AUTH0_CLIENT_ID: Auth0 client ID
  • AUTH0_CLIENT_SECRET: Auth0 client secret
  • AUTH0_AUDIENCE: Auth0 API audience
  • GOOGLE_GEMINI_API_KEY: Google Gemini API key (optional)

Web App Environment Variables

  • NEXT_PUBLIC_API_URL: https://api.saanicare.com
  • NEXT_PUBLIC_AUTH0_DOMAIN: Auth0 domain
  • NEXT_PUBLIC_AUTH0_CLIENT_ID: Auth0 client ID
  • NEXT_PUBLIC_AUTH0_AUDIENCE: Auth0 API audience

Monitoring & Analytics

Vercel Analytics

All production deployments include:

  • Performance Metrics: Core Web Vitals, load times
  • Error Tracking: Automatic error logging
  • Deployment History: Complete deployment logs

Health Checks

Production services should implement health check endpoints:

  • API: https://api.saanicare.com/health
  • Web Apps: Automatic via Vercel

Troubleshooting

Domain Not Resolving

  1. Verify DNS records are correct
  2. Check domain verification status in Vercel
  3. Wait for DNS propagation (up to 48 hours)

SSL Certificate Issues

  1. Check domain verification in Vercel
  2. Verify DNS records are correct
  3. Wait for certificate provisioning (usually automatic)

Deployment Failures

  1. Check GitHub Actions logs
  2. Verify Vercel project IDs are correct
  3. Check Vercel deployment logs
  4. Verify environment variables are set

Service Not Accessible

  1. Check Vercel deployment status
  2. Verify domain is correctly configured
  3. Check service logs in Vercel dashboard
  4. Verify environment variables are set correctly

Best Practices

  1. Always use HTTPS: All production URLs use HTTPS
  2. Monitor Deployments: Check Vercel dashboard after deployments
  3. Test After Deployment: Verify services are accessible
  4. Keep Secrets Secure: Never commit secrets to repository
  5. Use Environment Variables: Configure all sensitive data via Vercel
  6. Monitor Performance: Use Vercel Analytics to track performance