关键词 > CMPSC221.1

CMPSC 221.1 – Object-Oriented Programming with Web Apps

发布时间:2021-12-06

Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit



CMPSC 221.1  Object-Oriented Programming with Web Apps

Melusky – Fall 2021

 

Problem Set 6

 

The following problem set will be worth 100 points.  The code will be submitted electronically via        Canvas using the “Problem Set 6” drop box.  The assignment is due by close of the Canvas drop box.

Your code will be graded on both elegance and user-friendliness.

 

Exercise #1  Music Store Problem Extended (100pts)

Overview

Recall with Problem Set 5 you built a web application for a music store.  Problem set 6 will extend the assignment slightly.

Database Requirements

With the first application you made, all data the application uses were hard-coded inside the application (and used when the application first started up.)  With this assignment you will be persisting this data to a database.

Consider the following relationship. An artist can have many albums. Assuming each album is created by only one artist, this relationship is a one-to-many relationship between artist and album.

For this problem set the following is required to obtain full points for the assignment:

•    Create a database using H2 with two database tables: artist and album

•    Create Spring Data JPA entity classes for artist and album

•    Change the repositories in the application you wrote for Problem Set 5 to query the entities using Spring Data JPA

•    The data should be persisted to the database whenever a book and or author is updated/added in the system you wrote

Extra Credit Requirements

The following requirements are optional extensions to further enhance your store web site even more:

 

Alternative Database (+5 pts)

H2 is an in-memory database, which means as soon as your application server is stopped all data is lost. With this requirement, feel free to change your database persistence layer from using H2 to using either a SQL database server (PostgreSQL, MariaDB, MySQL, SQL Server) or a NOSQL/document database


(MongoDB for instance.)  If doing this option, please submit any SQL you used for constructing your database schema ifneeded.

Alternative Front-End Interface Requirements (+15 pts)

The customer lastly would like the interfaces for managing books to be handled by a modern JavaScript framework for the UI.  For this requirement, integrate one ofthe popular JavaScript frameworks into      some of the screens of your application.  Feel free to use one of React, Angular or Vue.  Hint: you           might need to submit a secondary UI project in addition to your Java project.

 

 

Submit all files (including the Gradle script I can use to run your application) in a zip file. Submission Requirements: Submit the files in a zip file with the naming strategy:

First initial + last name + PS + problem set number.zip

As an example, I would submit the code in a zip file named mmeluskyPS6.zip.  Submit your zip file via the “Problem Set 6” Canvas dropbox before the date ofthe close ofthe assignment.