Skip to content

Latest commit

 

History

History
41 lines (26 loc) · 1.93 KB

README.md

File metadata and controls

41 lines (26 loc) · 1.93 KB

P2_FE_

Description

BeatsAhoy allows its users to create an account and login to create a specialized playlist based off the following attributes. (Current Mood, Time of Day, Energy Level, Spontaneous level). These attributes are placed on a scale from 1 being the lowest and 10 being the highest. The following attributes are asked in a quiz like format. The results are then saved on the users profile along with a link to the playlist generated on the Spotify platform. The users can see all of the recently created playlists as well as their created playlists on the dashboard page.

User Stories

As a [user] I will be able to generate playlists as well as view other playlists generated by other users.

High-Level Requirements

Application must leverage the full stack:

  • Azure SQL for persistence
  • API built with Java 8 and Spring 5
  • UI built with React

Technology framework requirements:

  • Java API will leverage the Spring Framework
  • Java API will use Spring Data JPA to communicate with the DB
  • Java API will be RESTful
  • Java API will be unit tested using JUnit and Mockito, with coverage reports generated using Jacoco
  • Complete CI/CD pipelines will use Azure DevOps

Other requirements:

  • Application will demonstrate at least ten individual user stories
  • Application's own data model must be sufficiently complex (i.e. >2 tables)
  • SQL DB will be deployed to the cloud
  • Java API will be deployed to the cloud (Azure DevOps)
  • UI application will be deployed to the cloud (Azure Static Website on Azure Storage)
  • Java API will have >=80% test (line) coverage for service layer with validations (Used EclEmma or JaCoCo plugin to generate these reports)
  • Java API will leverage Spring's MockMvc for integration/e2e tests of controller endpoints
  • Java API will be adequately documented (Java Docs and web endpoint documentation [Swagger/OpenAPI])
  • At least one external API must be leveraged