Published: January 16, 2020
favorite0 forum0 poll171
By: Damian Ugalde, Cal Poly Pomona
Category: Aerospace Engineering
Hashtags: #Aerospace #Airfoil #airfoils #airplanes #Engineering #Project #RestApi
This project uses airfoil data located here. This data was provided by the University of Illinois, Department of Aerospace Engineering. Included is a set of points and a photo of a completed airfoil. The points can be plotted to recreate the airfoil in any design software. The photo can be used as a reference.
The implementation was created using Amazon Web Services. The data from University’s website was extracted using an AWS Lambda function written in Python. The function extracts all of the airfoil names, data files, and images, and uploads them to an AWS S3 bucket. The python script was able to extract 1487 airfoils from the database. This same file is also programmed to run once a month, so that it updates the AWS S3 database in case that the University’s website adds more airfoils.
For a user to be able to communicate with the database, an AWS API Gateway was used. A user can make a REST call to the API by providing a tag for the airfoil, and will receive a JSON object with the full name of the airfoil, an x point and a y point array, and a link to the picture of the airfoil.
The backend for the API call was managed by another AWS Lambda function. This one queries the AWS S3 bucket and looks for the airfoil. The Lambda function then formats the JSON object, checks for errors, and returns it.
Each of these pieces has a defined role created using the AWS IAM system. This is implemented to limit the amount of information each section can access and/pr make changes, so that the application can be more secure.