Music Shop is a platform where you can search your favourite music and purchase songs that you like.
The application’s architecture is divided into a Backend that serves database information in a RESTful API, and a Frontend that consumes this information using Ajax calls.
http://<server_name>/WAD-MA2/<end_point>
Method | Usage | Description |
---|---|---|
GET | / | Returns the API description for CRUD methods applied on Albums, Artists, Tracks, Customers |
Method | Usage | Description |
---|---|---|
GET | /artists | Returns information of all artists |
GET | /artists/<artist_id> | Returns detailed information of the artist with ID <artist_id> |
GET | /artists/?name=<search_text> | Returns information of those artists whose name contains <search_text> |
POST | /artists Request body |
Adds a new artist name |
POST | /artists/<artist_id> Request body |
Updates the artist with ID <artist_id> name |
DELETE | /artists/<artist_id> | Deletes the artist with ID <artist_id> |
GET http://localhost/WAD-MA2/artists
GET http://localhost/WAD-MA2/artists/1
GET http://localhost/WAD-MA2/artists/?name=John
POST http://localhost/WAD-MA2/artists
POST http://localhost/WAD-MA2/artists/1
DELETE http://localhost/WAD-MA2/artists/1
Method | Usage | Description |
---|---|---|
GET | /albums | Returns information of all albums |
GET | /albums/<album_id> | Returns detailed information of the album with ID <album_id> |
GET | /albums/?title=<search_text> | Returns information of those albums whose title contains <search_text> |
POST | /albums Request body |
Adds a new album title |
POST | /albums/<album_id> Request body |
Updates the album with ID <album_id> title |
DELETE | /albums/<album_id> | Deletes the album with ID <album_id> |
GET http://localhost/WAD-MA2/albums
GET http://localhost/WAD-MA2/albums/1
GET http://localhost/WAD-MA2/albums/?title=Album1
POST http://localhost/WAD-MA2/albums
POST http://localhost/WAD-MA2/albums/1
DELETE http://localhost/WAD-MA2/albums/1
Method | Usage | Description |
---|---|---|
GET | /tracks | Returns information of all tracks |
GET | /tracks/<track_id> | Returns detailed information of the track with ID <track_id> |
GET | /tracks/?name=<search_text> | Returns information of those tracks whose name contains <search_text> |
POST | /tracks Request body |
Adds a new track name, albumId, mediaTypeId, genderId, composer, milliseconds, bytes, unitPrice |
POST | /tracks/<track_id> Request body |
Updates the track with ID <track_id> name, albumId, mediaTypeId, genderId, composer, milliseconds, bytes, unitPrice |
DELETE | /tracks/<track_id> | Deletes the track with ID <track_id> |
GET http://localhost/WAD-MA2/tracks
GET http://localhost/WAD-MA2/tracks/1
GET http://localhost/WAD-MA2/tracks/?name=Track1
POST http://localhost/WAD-MA2/tracks
POST http://localhost/WAD-MA2/tracks/1
DELETE http://localhost/WAD-MA2/tracks/1
Method | Usage | Description |
---|---|---|
GET | /customers | Returns information of all customers |
GET | /customers/<customer_id> | Returns detailed information of the customer with ID <customer_id> |
GET | /customers/?email=<search_text> | Returns information of those customers whose email is <search_text> |
POST | /customers Request body |
Adds a new customer firstName, lastName, password, company, address, city, state, country, postalCode, phone, fax, email |
POST | /customers/<customer_id> Request body |
Updates the customer with ID <customer_id> firstName, lastName, password, company, address, city, state, country, postalCode, phone, fax, email, newPassword |
DELETE | /customers/<customer_id> | Deletes the customer with ID <customer_id> |
GET http://localhost/WAD-MA2/customers
GET http://localhost/WAD-MA2/customers/1
GET http://localhost/WAD-MA2/customers/?email=name@gmail.com
POST http://localhost/WAD-MA2/customers
POST http://localhost/WAD-MA2/customers/1
DELETE http://localhost/WAD-MA2/customers/1
{
"ArtistId": "1",
"Name": "AC/DC"
}
{
"AlbumId": "1",
"Title": "For Those About To Rock We Salute You",
"ArtistId": "1"
}
{
"TrackId": "1",
"Name": "For Those About To Rock (We Salute You)",
"AlbumId": "1",
"MediaTypeId": "1",
"GenreId": "1",
"Composer": "Angus Young, Malcolm Young, Brian Johnson",
"Milliseconds": "343719",
"Bytes": "11170334",
"UnitPrice": "0.99"
}
{
"CustomerId": "1",
"FirstName": "Luís",
"LastName": "Gonçalves",
"Password": "$2y$10$WtD6WywiBP7qNi8yZj7gYuIhjTy1xsAwAKSEgXj/ftRZWTLjz1cpu",
"Company": "Embraer - Empresa Brasileira de Aeronáutica S.A.",
"Address": "Av. Brigadeiro Faria Lima, 2170",
"City": "São José dos Campos",
"State": "SP",
"Country": "Brazil",
"PostalCode": "12227-000",
"Phone": "+55 (12) 3923-5555",
"Fax": "+55 (12) 3923-5566",
"Email": "luisg@embraer.com.br"
}
[
{
"ArtistId": "222",
"Name": "Academy of St. Martin in the Fields, John Birch, Sir Neville Marriner & Sylvia McNair"
},
{
"ArtistId": "263",
"Name": "Equale Brass Ensemble, John Eliot Gardiner & Munich Monteverdi Orchestra and Choir"
},
{
"ArtistId": "170",
"Name": "Jack Johnson"
},
{
"ArtistId": "218",
"Name": "Orchestre Révolutionnaire et Romantique & John Eliot Gardiner"
}
]
[
{
"AlbumId": "262",
"Title": "Quiet Songs",
"ArtistId": "197"
},
{
"AlbumId": "137",
"Title": "The Song Remains The Same (Disc 1)",
"ArtistId": "22"
},
{
"AlbumId": "138",
"Title": "The Song Remains The Same (Disc 2)",
"ArtistId": "22"
}
]
[
{
"TrackId": "1472",
"Name": "Radio Song",
"AlbumId": "119",
"MediaTypeId": "1",
"GenreId": "4",
"Composer": "C. Cester/C. Muncey/N. Cester",
"Milliseconds": "272117",
"Bytes": "8871509",
"UnitPrice": "0.99"
},
{
"TrackId": "2284",
"Name": "Radio Song",
"AlbumId": "187",
"MediaTypeId": "1",
"GenreId": "4",
"Composer": "Bill Berry/Michael Stipe/Mike Mills/Peter Buck",
"Milliseconds": "255477",
"Bytes": "8421172",
"UnitPrice": "0.99"
}
]
Get Customers with the email n@gmail.com
[
{
"CustomerId": "24",
"FirstName": "Frank",
"LastName": "Ralston",
"Password": "$2y$10$WtD6WywiBP7qNi8yZj7gYuIhjTy1xsAwAKSEgXj/ftRZWTLjz1cpu",
"Company": null,
"Address": "162 E Superior Street",
"City": "Chicago",
"State": "IL",
"Country": "USA",
"PostalCode": "60611",
"Phone": "+1 (312) 332-3232",
"Fax": null,
"Email": "fralston@gmail.com"
}
]
Paul Panaitescu