Lab#3
Lab#3
• Become familiar with AWS Elastic Beanstalk, RDS, DynamoDB, S3, IAM, etc.
• Become familiar with ASP.NET Core MVC Web App
Rubric
Functionality Marks
GUI 2
User registration/user login 2
1. User registration information is stored in RDS (Microsoft SQL Server)
2. Registration (1 mark)
3. Login (1 mark)
Modeling one DynamoDB table to store data 5
1. Movie (i.e., video) itself should be stored in S3
2. Primary key (1 mark)
3. Movie metadata (e.g., title, genre, director(s), release time, etc.) (1 marks)
4. Movie comments and movie rating (1 mark)
5. Create a proper secondly index to facilitate searching movies based on
movie rating, for example, list all movies with rating>9 (1 mark)
6. Create a proper secondly index to facilitate searching movies based on genre
(https://www.studiobinder.com/blog/movie-genres-list/). For example, list
all Science Fiction movies (1 mark)
Manage movie 9
1. Add new movie (2 marks)
2. Delete a movie which the logged in user uploaded; in other words, only the
one who uploaded movie can delete it (2 marks)
3. Modify existing movie (2 marks)
4. Download movie (the video which is stored in S3) (1 mark)
5. List movies based on ratings, e.g., all movies with overall rating>9 (1 mark)
6. List movies based on genre (1 mark)
Manage the comments and ratings 5
1. Add comments to a specific movie (1 mark)
2. Rating a specific movie (1 mark)
3. List all comments about a specific movie (1 mark)
Lab #3 Page 1 of 2
API Engineering COMP306
4. Modify a comment if the comment was written within 24 hours. Please bear
in mind that only the one who wrote the comments can modify the
comment(s) (2 marks)
Use parameter store to store credentials 2
1. Store credentials in parameter store (1 marks)
2. Update the code correspondingly (1 marks)
Publish application to elastic Beanstalk 2
Non-functional requirements (e.g., readability, maintainability, efficiency, etc.) 3
You are asked to implement a ASP.NET Core MVC Web application and deploy the app
using AWS Elastic Beanstalk.
Lab #3 Page 2 of 2