RatTracker is a community-driven web application that allows residents to report rat sightings across Boston and view aggregated data in the form of a heatmap. The project combines a modern serverless architecture with an intuitive frontend, creating a scalable and low-maintenance solution for public health monitoring and civic engagement. This project is primarily deployed on AWS. For local development, the frontend can be served locally, but backend functions rely on cloud infrastructure.
- Submit and record real-time rat sightings in Boston
- View an interactive heatmap of all reported locations
- Scalable serverless backend powered by AWS Lambda and DynamoDB
- Frontend hosted and continuously deployed with AWS Amplify
The application follows a serverless, event-driven architecture using AWS services:
- Frontend: Built with HTML, CSS, and JavaScript, hosted via AWS Amplify
- Route 53: Custom domain routing to the Amplify-hosted frontend
- API Gateway: Entry point for API requests from the frontend
- Lambda Functions: Handle business logic and interact with the database
- DynamoDB: Stores all rat sighting records in a scalable NoSQL format
- GitHub + Amplify: Automatic CI/CD deployment pipeline
- Frontend: HTML, CSS, JavaScript
- Backend: AWS Lambda, API Gateway
- Database: AWS DynamoDB (NoSQL)
- Hosting & CI/CD: AWS Amplify
- Domain Management: AWS Route 53
- Developer pushes code to GitHub repository
- AWS Amplify detects changes and triggers the CI/CD pipeline
- The frontend is built and deployed to a public URL
- Users access the app, submit sightings, and view the heatmap
- API Gateway forwards requests to Lambda functions
- Lambda functions validate and store data in DynamoDB
Submit a new rat sighting.
Request Body:
{
"location": {
"latitude": 42.3601,
"longitude": -71.0589
},
"description": "Saw three rats near the dumpster behind 7-Eleven.",
"timestamp": "2025-07-02T18:45:00Z"
}Returns a list of all recent rat sightings for heatmap rendering.
Response:
[
{
"latitude": 42.3601,
"longitude": -71.0589,
"count": 1
}
]- User authentication using AWS Cognito
- Image uploads with S3 integration
- Admin moderation panel
- Public health dashboard for city officials
- Time-based heatmap filtering
