MSSE SENG 5199

Course Materials for the MSSE Web Application Development Course

Assignment #1

playlist

Due Date: 2/10/2017

Assignment Overview

Deliverables

  1. Access to source code repository
  2. Working SpringBoot project should build with passing tests: ./gradlew clean build
  3. All requirements implemented and tested with passing tests

System Description

Create an application that allows a user to create a playlist of songs. The songs will be saved in the database along with their release and artist information.

Chicken Feet Diagram

Account -< Playlist >-< Songs >- Release >- Artist

Recommended Implementation

Use JPA annotations to define your domain model on Groovy classes. Use the JPA repository functionality in Spring Data to interact with the data store.

Testing Requirements

Some requirements need to be verified using data-driven tests. These should be Spock tests that use the where directive. For example:

def 'test adding: #description'() {
  when:
  def result = a + b

  then:
  result == expected

  where:
  description            | a  | b | expected
  'Two positive numbers' | 4  | 6 | 10
  'A negative number'    | -1 | 3 | 2
  'Adding zero'          | 0  | 1 | 1
}

Account Requirements

Playlist Requirements

Song Requirements