Giter Club home page Giter Club logo

catalogue's Introduction

Device Catalogue

A customer would like to browse all the Apple devices avaiable for purchase. Create an application with a component that reads and displays devices from the local restful API on port 8081. The API has two routes /watches which returns a list of watches and /iphones which returns a list of iPhones.

Create two routes locally with your perferred client-side routing library: /watches and /iphones. The /watches routes should ONLY display a grid of watch device cards (a referrence card design is displayed below) and the /iphones route should ONLY display a grid of iphone device cards. Each route represents a page in the application, each page should have a heading indicating the type of devices listed on the page and a grid showing all the devices in that category.

Application Requirements

  • An index page with a list of all pages (i.e. A watch page and phone page).
  • Unit tests for at least one component.
  • TDS components MOST be used (A list of useful components can be found below).
  • The applications should display a grid of device cards for each device type.

Apple Watch and iPhone assets are available in the public directory

public/
├─ images/
│  ├─ iphone.jpg
│  ├─ watch.jpg

The anotomy of the device API response

The mock API replies with the following structure:

{
  "data": [
    {
      "name": "Apple Watch Series 6",
      "brand": "Apple",
      "price": 1399
    }
  ]
}

Starting the Application

npm run dev will start the local API server on port 8081 along with a client side user interface available on port 8080.

Reference Device Card

All device cards should look as close as possible to the following device card:

Note: all device cards should simply showcase the name of the device, the brand and price with the following copy:

TELUS Easy Payment and Bring-It-Back applied. Read legal footnote Taxes due upfront.

Retail price: $1130

device card

Reference Device Grid

The device grid should look as close as possible to the following device grid but exact spacing isn't required:

device card

Useful TDS components

catalogue's People

Contributors

akeemattelus avatar

Watchers

 avatar

catalogue's Issues

TODOs

Logistics

  • Make the repo part of the TELUS org
  • Figure out how to distribute the take home - (private repo with outside collaborators?)
  • To be distributed to candidates on Monday March 29th
  • How long should candidates have to complete the challenge?
    Aim to have them complete it by Thursday April 1st but give them the option to reschedule the interview

Local development

  • cross platform requirements - is it able to run on windows?

Docs

  • make it clear that unit testing are part of the requirements

Routing

  • Add an example route so they have a pattern to follow.

Boilerplate

  • Add a test runner - npm run unit
  • unit test coverage for the sample route provided

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.