For better life in Singapore
|-- index.html
|-- about-us.html
|-- main.html
|-- css/
|-- img/
|-- js/
|-- echarts/
|-- LoadData.py
|-- LoadDataDBPolicy.json
|-- LoadDataS3Policy.json
|-- SinAroundU.py
|-- SinAroundUDBPolicy.json
|-- SinAroundUS3Policy.json
- Deploy frontend html pages, css and js customization and image/video files using AWS Amplify service
- Create S3 buckets for image/video and data storage, then upload required files;
- Construct and deploy Lambda functions SinAroundU.py and LoadData.py on AWS Lambda service;
- Create a RESTful API on AWS API Gateway
- Create POST methods for our lambda functions
- Choose Lambda Function for integration type
- Enable CORS
- Deploy API
- Set the method requests status to be 200 if lambda function is correctly executed
- Add IAM policy to lambda functions for I/O operations. In the configuration part of a lambda function, click on the permission and then click into the IAM management console. Then, we can add inline policy to the lambda function. The policies for LoadData function and SinAroundU function are stored in LoadDataPolicy.json and SinAroundUPolicy.json;
- Build tables in DynamoDB for each dataset using
district id
as partition key andfacility
as sorted key, then load data from S3 to DynamoDB using LambdaFunction LoadData.py.
Home page: Each district in the map is a button, connecting to main.html and showing facility information in the same district.
Map and information for facilities in each district:
Flat rent price trend chart: