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
-
Clone and setup:
git clone <repository-url> cd CHLAProj ./setup-local.sh
-
Start backend:
./start-backend.sh
Backend available at: http://127.0.0.1:8000
-
Start frontend (in new terminal):
./start-frontend.sh
Frontend available at: http://localhost:3000
- Deployment Guide: Canonical deployment + CI/CD + DB sync. Use this only.
CHLAProj/
├── maplocation/ # Django backends
│ ├── manage.py
│ ├── requirements.txt
│ ├── Procfile
│ └── locations/ # Main Django app
├── map-frontend/ # Vue.js frontend
│ ├── src/
│ ├── package.json
│ └── vite.config.js
├── .github/workflows/ # GitHub Actions CI/CD
└── scripts/ # Deployment scripts
- 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:
git add .
git commit -m "Your changes"
git push origin main
The 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=5432
VITE_API_BASE_URL=https://api.kinddhelp.com/api
cd maplocation
python manage.py test
cd 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.md 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