Skip to content

Ferie/iTunes-Angular-9-search-app

Repository files navigation

Certua | Angular Techincal Test

Introduction

The task entails querying a live API of your choice.

You are required to enhance the project skeleton by querying the API based on user input, display a list of results so that the user can select one. The selection should trigger additional call(s) to display further information.

Notes:

  • Results should be displayed in a manner that is presentable and professional.
  • Below is a list of APIs available for user-consumption that are easily available for consumption.
  • Alongside implementing the requirements above, the finished project should be production-ready. This requires effective unit-tests to be written for the functionality you have implemented.

Project

The project is written in Angular 9, with Angular Material installed. Feel free to add any necessary npm packages you feel necessary to complete the task.

Setup

  1. Run npm i (and await the packages to install)
  2. Run ng serve -o
  3. Observe the project starting in a browser.

Requirements

  1. Download the queried data from an API of your choice.
  2. Present the data to the user.
  3. Style the layout of the data.
  4. Test any relevant components/services/pipes you implement.

APIs

API Description
iTunes Search Search for content within the iTunes Store and Apple Books Store
Oxford Dictionary Enhance your app with our world-renowned dictionary data
Words API An API for the English Language.
Open Library Access to open-library data
Meta Weather An API to query weather data
Pokemon API All the Pokémon data you'll ever need in one place, easily accessible through a modern RESTful API
Yahoo Weather Yahoo's API to query their weather data
Nasa NASA data, including imagery, eminently accessible to application developers
Spotify The Spotify Web API endpoints return JSON metadata about music artists, albums, and tracks

Bonus

  1. Implement an auto-complete feature (see Material AutoComplete) which makes suitable suggestions from your API of choice.
  2. Make the website mobile-responsive so it looks good on mobile.