Play Play A song playlist creator project for Module 4 BE

Learning Goals

  • Practice project management (create user stories, daily stand-ups and retros)
  • Create an Express API given specified endpoints and response formats
  • Test endpoints
  • Write good documentation
  • Practice articulating code presentation and process
  • Maintain a good Git workflow with partner

Requirements Overview

To get started for this project clone the all-your-base repo. You will want to rename your repo and make adjustments to some of the files(knexfile, migrations etc.) that have pre-existing code.

Next register for an api key for the Musixmatch API

For this project, the requirements will be given out in mini-sprints.

Sprint 1

For the first sprint you will want to have the following completed:

  • DTR as a gist
  • Deployment to Heroku
  • The endpoints listed below

POST /api/v1/favorites

You will use the Musixmatch API to get song information to create a favorite. Please note that the rating system should only allow for a number between 1-100. If a genre is not provided, the genre should be “Unknown”.

To create a new favorite, use the following request parameters:

{ title: "We Will Rock You", artistName: "Queen" }

Response Body:

{
  "id": 1,
  "title": "We Will Rock You",
  "artistName": "Queen"
  "genre": "Rock",
  "rating": 88
}

If a favorite is successfully created, the item will be returned with a status code of 201. If the favorite is not successfully created, a 400 status code will be returned.

GET /api/v1/favorites

Returns all favorited songs currently in the database. The index of favorites will be returned in the following format:

[
  {
    "id": 1,
    "title": "We Will Rock You",
    "artistName": "Queen"
    "genre": "Rock",
    "rating": 88
  },
  {
    "id": 2,
    "title": "Careless Whisper",
    "artistName": "George Michael"
    "genre": "Pop",
    "rating": 93
  },
]

GET /api/v1/favorites/:id

Returns the favorite object with the specific :id you’ve passed in. A 404 is returned if the favorite is not found.


  {
    "id": 1,
    "title": "We Will Rock You",
    "artistName": "Queen"
    "genre": "Rock",
    "rating": 88
  }

DELETE /api/v1/favorites/:id

Will delete the favorite with the id passed in and return a 204 status code. If the favorite can’t be found, a 404 will be returned.

Communication Expectations

  • Communicate with your instructors if you feel like your team is falling behind or cannot complete the tasks assigned.
  • Communicate with your instructors if your team has completed all requirements before the deadline.
  • Tag instructors in pull requests on GitHub wherever you’d like feedback.
  • If there is any question about functionality, ASK.

Rubric

You will be graded by an instructor on the criteria in this rubric.

Lesson Search Results

Showing top 10 results