Skip to content

Latest commit

 

History

History
29 lines (23 loc) · 1.14 KB

README.md

File metadata and controls

29 lines (23 loc) · 1.14 KB

Shopify Backend Intern Challenge - Winter 2017

By Thomas Dodd

This solution was acheived using Node and Express. Unit tests are written using Mocha and Chai.

You must have Node.js installed on your machine

Clone the project: git clone https://github.com/tdodd/shopify-backend-challenge.git

  • cd into the project directory
  • Install dependencies with npm install.

Once this is complete, you can start the application via npm start and run tests via npm test.

The application architecture is as follows:

  • The client sends a request to /customers/{pageNumber}
  • The router receives this request and uses 2 controllers to perform jobs
    • CustomerController get the list of customers from the API
    • ValidationController performs the validation on the customers that were retreived
  • The router then sends the invalid clients as a JSON object to the client

Sample response:

{
  "invalid_customers": [
    { "id": 1, "invalid_fields": ["name", "age"] },
    { "id": 3, "invalid_fields": ["password"] }
  ]
}