Geolocation web application: Location
The user accesses a web site hosted on an AWS S3 bucket.
This website is available over an AWS CloudFront distribution.
Data transfered to and received from the website is encrypted with TLS 2.0 or 1.1 certificate.
The web site makes an HTML5 geolocation request from the user's device.
The accuracy of the request response is dependant upon the context of the request.
The geolocation data is sent to an AWS API Gateway endpoint via an HTTP request.
The API Gateway passes the request to a Lambda function "GeoAPIS3".
The Lambda function parses the body of the HTTP request into JSON and stores the JSON as an object in an S3 bucket.
The S3 bucket is AES256 encrypted.
Once JSON object is stored in the S3 bucket, a Lambda function is invoked "GeoS3SNS".
The invoked Lambda function passes the JSON to AWS SNS.
SNS is a notificaiton service that sends notifications to subscribers.
Subscribers receive the notification. (Email, SMS text message, etc.)

Display geolocation data: Display
The user accesses a web site hosted on an AWS S3 bucket.
The web site makes an HTML5 geolocation request from the user's device.
The accuracy of the request response is dependant upon the context of the request.
The geolocation data is sent to an AWS API Gateway endpoint via an HTTP request.
API Gateway passes the request to a Lambda function "GeoAthena".
Lambda function performs an Athena query on the S3 bucket hosting geolocation information.
The results of the query are stored in an encrypted S3 bucket.
The Lambda formats the query results into a JSON string.
The JSON is returned to the user in the body of the HTTP response.
The website updates to display the geolocation JSON data in a table.