A comprehensive healthcare provider mapping application for Children's Hospital Los Angeles, helping families find autism and developmental disability services in California.
- Interactive Map: Searchable map of healthcare providers and regional centers
- Mobile-Responsive: Optimized mobile experience with slide-out sidebar
- Smart Filtering: Filter by payment options, age groups, and diagnosis matching
- Location-Based: Automatic location detection and distance-based results
- Service Areas: Visual representation of county-based service coverage
- User Profiles: Save user information for personalized recommendations
- Frontend: https://kinddhelp.com
- API: https://api.kinddhelp.com
- Framework: Vue.js 3 with Vite
- Deployment: S3 Static Website + CloudFront CDN
- Features: Mobile-responsive design, interactive maps, real-time filtering
- Framework: Django 5.2 with Django REST Framework
- Deployment: AWS Elastic Beanstalk (Python 3.12)
- Database: PostgreSQL on AWS RDS with PostGIS extension
- Features: RESTful API, geographic queries, user management
- DNS: Route 53 with custom domain
- SSL: AWS Certificate Manager for HTTPS
- CDN: CloudFront for global content delivery
- Monitoring: Elastic Beanstalk health monitoring
- Python 3.12+
- Node.js 18+
- PostgreSQL (for local development)
- AWS CLI configured
-
Backend Setup:
# Navigate to backend directory cd maplocation # Create virtual environment python3.12 -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate # Install dependencies pip install -r requirements.txt # Set up environment variables (see maplocation/README.md) export DB_NAME="your_db" export DB_USER="your_user" export DB_PASSWORD="your_password" # ... other variables # Run migrations python manage.py migrate # Create superuser python manage.py createsuperuser # Start backend python manage.py runserver
Backend available at: http://127.0.0.1:8000
-
Frontend Setup (in new terminal):
# Navigate to frontend directory cd map-frontend # Install dependencies npm install # Start development server npm run dev
Frontend available at: http://localhost:3000
For detailed setup instructions, see Backend Getting Started Guide
- CI/CD Pipeline Guide - NEW! Comprehensive CI/CD documentation
- GitHub Secrets Setup - NEW! Configure deployment secrets
- Documentation Index - Complete documentation directory
- Getting Started - Backend - Set up Django backend
- Deployment Guide - Deploy to production
- GitHub Actions/CI/CD - Automatic deployment setup
- Database Sync - Manage migrations and data
- Stack Documentation - Complete architecture reference
- New Developers: Start with Getting Started and Stack Docs
- Developers: Use Deployment and Database Sync
- DevOps: See GitHub Actions and Deployment
All documentation organized in /docs - Old/outdated docs moved to /docs/archive
CHLA/
βββ maplocation/ # Django backend
β βββ manage.py
β βββ requirements.txt
β βββ Procfile
β βββ locations/ # Main Django app (providers, regional centers)
β βββ users/ # User authentication app
β βββ README.md # Backend getting started guide
βββ map-frontend/ # Vue.js frontend
β βββ src/
β βββ package.json
β βββ vite.config.js
βββ docs/ # Organized documentation
β βββ README.md # Documentation index
β βββ DEPLOYMENT.md
β βββ GITHUB_ACTIONS.md
β βββ DATABASE_SYNC.md
βββ .github/workflows/ # GitHub Actions CI/CD
βββ STACK_DOCUMENTATION.md # Architecture reference
- Backend: Django, Django REST Framework, PostGIS, Gunicorn
- Frontend: Vue.js 3, Vite, Bootstrap 5, Mapbox GL
- Database: PostgreSQL with PostGIS extension
- Deployment: AWS (EB, RDS, S3, CloudFront, Route 53)
# Backend
cd maplocation
eb deploy
# Frontend
cd map-frontend
npm run build
aws s3 sync dist s3://kinddhelp-frontend-1755148345 --delete
aws cloudfront create-invalidation --distribution-id E2W6EECHUV4LMM --paths "/*"Push to main branch triggers automatic deployment with comprehensive CI/CD:
git add .
git commit -m "Your changes"
git push origin main
# Monitor deployment
gh run watchNew Features:
- β Automated testing (backend + frontend)
- β Linting and code quality checks
- β Health checks with automatic rollback
- β Database migration automation
- β Deployment verification
See: CI/CD Guide | Secrets Setup
Quick Setup:
# Configure GitHub secrets
./scripts/setup-ci.sh
# Test locally before deploying
./scripts/deploy-test.shThe application includes a responsive mobile design with:
- Hidden sidebar by default on mobile devices
- Hamburger menu toggle in top-left corner
- Slide-out sidebar with smooth animations
- Full-width map when sidebar is hidden
- Touch-friendly interface with proper tap targets
GET /api/providers/- List all healthcare providersGET /api/providers/{id}/- Get specific provider details
GET /api/regional-centers/- List all regional centersGET /api/regional-centers/{id}/- Get specific center details
GET /api/california-counties/- Get California county boundariesGET /api/service-areas/- Get service area coverage
DJANGO_SECRET_KEY=your-secret-key
DJANGO_DEBUG=false
ALLOWED_HOSTS=api.kinddhelp.com,localhost
CORS_ALLOWED_ORIGINS=https://kinddhelp.com,https://www.kinddhelp.com
CSRF_TRUSTED_ORIGINS=https://kinddhelp.com,https://www.kinddhelp.com
DB_NAME=postgres
DB_USER=chla_admin
DB_PASSWORD=your-db-password
DB_HOST=your-rds-endpoint
DB_PORT=5432VITE_API_BASE_URL=https://api.kinddhelp.com/apicd maplocation
python manage.py testcd map-frontend
npm run test-
Mobile sidebar not appearing
- Clear browser cache or use incognito mode
- Check CloudFront cache invalidation
-
API calls failing
- Verify CORS settings in Django
- Check API URL in frontend environment
-
Database connection issues
- Verify RDS security group settings
- Check environment variables
-
Deployment failures
- Check AWS credentials and permissions
- Review GitHub Actions logs
See Deployment Guide and GitHub Actions Guide for detailed troubleshooting.
- Frontend: Cached via CloudFront globally
- Backend: Auto-scaling via Elastic Beanstalk
- Database: PostGIS optimized queries for geographic data
- Mobile: Optimized for mobile devices with efficient rendering
- HTTPS: SSL certificates via AWS Certificate Manager
- CORS: Properly configured for cross-origin requests
- Environment Variables: Sensitive data stored securely
- Database: Private subnets with security groups
- Fork the repository
- Create a feature branch
- Make changes and test locally
- Submit a pull request
- CI/CD will test your changes automatically
For questions or issues:
- Check the documentation files
- Review troubleshooting guides
- Check GitHub Issues
- Contact the development team
[Add your license information here]
Built with β€οΈ for Children's Hospital Los Angeles