0% found this document useful (0 votes)
1 views

Lab#2

API Engineering & Cloud COmputing, Lab 2- Centennial College

Uploaded by

longquan98
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
1 views

Lab#2

API Engineering & Cloud COmputing, Lab 2- Centennial College

Uploaded by

longquan98
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

API Engineering & Cloud Computing COMP306

Lab#2 – AWS DynamoDB

Due Date: Midnight of Oct 4 (Friday)

Purpose: The purpose of this lab is to help you:


• Have comprehensive understanding of AWS DynamoDB
• Become familiar with IAM
• Be able to use AWS DynamoDB service programmatically

Instructions: Be sure to read the following general instructions carefully:


1. This lab should be completed individually by all students. Submit your solution through the
dropbox, name your submission as studentID(yourlastname)_Labnumber.zip. e.g.,
300123456(smith)_Lab#2.zip
2. Demonstrate your solution
Rubric
One application = one dynamodb table
Functionality Marks
DynomoDB table 5
1. Create DynamoDB table Bookshelf using AWS Management Console, and
insert sample data to the table. The sample data must include at least three
different users, and each user has at least 2 books on his/her bookshelf (3
mark)
2. Modeling the table Bookshelf in C# code (2 mark)
User Login 2
1. Implement login business logic (2 marks)
List all books on user’s bookshelf 5
1. View: the most recently read book should be listed at top (2 marks)
2. Code (3 marks)
Update DynamoDB table to reflect user’s reading activities 5
1. View book content (2 marks)
2. Update the snapshot of reading activity when user clicks BookMark button
a) Get the current page number (1 mark)
b) Write bookmark time and bookmarked page# to DynamoDB table (1
marks)
3. Update the snapshot of reading activity when user closes the window (1
marks)
Overall (code quality, application usability, application efficiency, etc.) 3

Question 1[20 marks]

Nowadays, there are many online eBook readers (https://www.epubor.com/online-ebook-readers.html)


available. Basic function is to allow logged in user to read book on his/her bookshelf. When the user stops
reading, the snapshot of his/her reading activity will be recorded so that he/she can continue reading from
where he/she left last time.

Normally I read eBook at bookshelf.vitalsouce.com, currently I have 4 books on my bookshelf. I read the
book Building Microservices with .NET core (shown in Figure 1) last time before I logged out. Today,

Lab #2 Page 1 of 4
API Engineering & Cloud Computing COMP306

after I logged in and clicked “Continue Reading” button, the page (Shown in figure 2) which I finished
last time was displayed, and I can continue from where I left.

Figure 1

Figure 2

You are asked to implement a WPF app to mimic BookShelf.vitalsource.com.

Lab #2 Page 2 of 4
API Engineering & Cloud Computing COMP306

First of all, you need to create DynamoDB table Bookshelf using AWS Management Console to store users’ info
as well as books’ metadata on users’ bookshelf. The book content (i.e., pdf file) should be stored in S3 bucket.

Insert sample data. More specifically, insert at least 3 users, and each user should have at least 2 books on his/her
bookshelf.

After a user successfully login, your app should


1) list all books on his/her bookshelf according to the bookmark time, and the most recently one is listed
at the top
2) User starts to read a book by double clicking on the book
3) When user click on “Bookmark” button, or user closes the reading window, in both situations, the
current page# should be bookmarked by updating the corresponding book item in the DynamoDB table

Lab #2 Page 3 of 4
API Engineering & Cloud Computing COMP306

Hint:

Use Syncfusion.PdfViewer to view the pdf file.

In your View (XAML file), you should include a PdfViewerControl element

Please bear in mind that normally eReader does not allow user to download the book (pdf file), therefore, you need
to use code similar with below to load the book

Lab #2 Page 4 of 4

You might also like