Build your own cloud-based file sharing tool.

Posted on 6th Aug 2023 13:32:24 in Questions and Answers

Task: Build your own cloud-based file sharing tool.

For this extended project, you will create a simple cloud-based application using the tools you have learned to use in this course. This will require the use of cloud storage, databases, web front end, and other tools.

Specification:

Task: Create a web-based file-sharing tool with support for sharing with multiple users.

How the app works: The user logs into the website and gets a file upload screen. The user chooses the file from local storage and also enters a number of email addresses (up to 5). Once the user hits upload, the file is stored in S3. Also, the link to the file is emailed to the provided email addresses.

A list of files uploaded by the user should be stored in a cloud database, for billing purposes.

Deliverables (i.e, things to submit): your code for the webpage and file uploader, your code for the AWS Lamda and SES portion, video of the system usage).

[Extra credit] Once all the users have clicked on the link, the file should be deleted.

What tools you need to use: Use an AWS EC2 instance to host the webserver for the app. Use AWS S3 to store the file. Use AWS Lambda and AWS SES to send the emails. Use AWS DynamoDB or RDS to store file info.

Grading Rubric: EC2-based web server (5 points), File upload and storage (5 points), database usage (5 points), email to users (5 points), [Extra credit] file deletion [4 points].