Springleaf front end ember.js interview app. This is an ember-cli application using ember-data with the active-model-adapter addon. If you're new to Ember, try the ember-cli generators!
- Clone this repo into any directory
cd
into the repo's root folder- Run
npm install && bower install
- Run
ember server
to start the server athttp://localhost:4200
Using the provided API endpoints, construct an application that includes the features outlined below. Don't worry about CSS, grids, or design; browser default styling is fine! Change whatever you need to change, just be sure to commit your work!
- display links to all of the artists returned by the API
- click on an artist to show a header with the artist's name and their albums
- clicking on an album name will show a detail page for that album
- album detail page should show a list of comments with the most recent at the top
- home page lists all of the years for which we have albums, with a count of albums per year
- home page lists 5 most popular artists (by sum of albums sold)
- clicking on a year on the home page shows albums that were released that year organized by artist
- home page lists all known artist locations
- clicking on a location will show artists at that location organized by last name A-Z
- the show page for an artist displays artists that are nearby (same location)
- provide a form that will save a comment on an album
- validate that the form is filled in before allowing submission
- support deleting comments
The following CRUD endpoints are provided:
Artists | |
---|---|
GET /api/artists |
index of the artists in the system |
GET /api/artists/:id |
returns a single artist by its id |
POST /api/artists |
creates a new artist record |
PUT /api/artists/:id |
updates an artist record by its id |
DELETE /api/artists/:id |
destroys an artist given its id |
Albums | |
---|---|
GET /api/albums |
index of all albums in the system |
GET /api/albums/:id |
returns a single album by its id |
POST /api/albums |
creates a new album record |
PUT /api/albums/:id |
updates an album record by its id |
DELETE /api/albums/:id |
destroys an album given its id |
Comments | |
---|---|
GET /api/comments |
index of all the comments in the system |
GET /api/comments/:id |
returns a single comment by its id |
POST /api/comments |
creates a new comment record |
PUT /api/comments/:id |
updates a comment record by its id |
DELETE /api/comments/:id |
destroys a comment given its id |
Name | Values | Description |
---|---|---|
sort_on |
<any column name> |
Tells the mock server to sort results using the specified column name |
sort_direction |
asc/desc |
Whether the mock server should sort ascending or descending |
per_page |
<any int> |
The number of results that should be returned per page |
page |
<any int> |
Page number of results to return |
The application comes with a very small set of seed data. If you want, you can add more data or columns via the server/seeds.js
file.
You can also add more endpoints if you want!