Aula Education is branching into the music business and needs a new website. Build it using JavaScript and React.
In a fictional world, Aula Education is branching into the music business and we need a new a website. This website needs to display the top 100 songs based on the iTunes API. This code challenge allows you to choose your own path and lets you flaunt your creative panache and technical skills along the way.
In order to help you fit the test in around other commitments, there's no time limit for the test. However, please don't feel the need to spend more than 2-3 hours total working on your solution. We encourage you follow the instructions carefully and try to keep things simple.
- Implement assignment using:
- Language: JavaScript and not Typescript. We know Typescript is fantastic, but we ask candidates to stick to JS so as to make sure we evaluate all submissions consistently and fairly.
- Framework: React
- The application should be a client-side SPA
- Show top 100 albums based on the json feed here:
https://itunes.apple.com/us/rss/topalbums/limit=100/json
- Allow the user to select the feed type from
topalbums
andtopsongs
(the topsongs URL ishttps://itunes.apple.com/us/rss/topsongs/limit=100/json
) - A simple design (bonus points for responsive design but this is not essential)
- A good user experience
- Allow the top 100 to be searchable
- Provide tests for your application (we prefer a behavioural approach like the one emphasised by React Testing Library)
- Surprise us! Add a feature that you think would work well here (for instance, advanced search, integration with another API, a "Favorite" functionality)
- Describe the feature in a separate markdown file
Make sure to include all source code in the repository.
- We're looking for you to produce working code, with enough room to demonstrate how to structure components in a small program.
- Simplicty: is the solution appropriate for the complexity of the problem?
- Completeness: were the instructions followed?
- Correctness: does the functionality act in sensible, thought-out ways?
- Testing: is the app adequately tested?
Please organize, design, test and document your code as if it were going into production - then push your changes to the master branch. After you have pushed your code, you may submit the assignment on the assignment page.
All the best and happy coding,
The Aula Education Team