essn / salido-rails-challenge

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Challenge for Rails Engineer

To better assess a candidates development skills, we provide this following challenge. You have as much time as you'd like (though we ask that you not spend more than a few hours).

Submission Instructions

  1. First, fork this project on github. You will need to create an account if you don't already have one.
  2. Next, complete the project as described below within your fork.
  3. Finally, push all of your changes to your fork on github and submit a pull request. You should also email the appropriate address at Salido and your recruiter to let them know you have submitted a solution. Make sure to include your github username in your email (so we can match people with pull requests).
  4. Include in your README any assumptions or other information you want to communicate.
  5. Include documentation of how to work with API calls.

Alternate Submission Instructions (if you don't want to publicize completing the challenge)

  1. Clone the repository
  2. Next, complete your project as described below within your local repository
  3. Email a patch file to the appropriate address at Salido and your recruiter to let them know you have submitted a solution.

Project Description

Imagine that Salido has just acquired a new company called ABC Wine Distributors (ABC WD) for the purpose of selling wines through Salido's existing customer-facing mobile app.

Your job is to prorotype a web-based Inventory Management System.

ABC WD's API: https://api.wine.com You will need to sign up for an account to obtain your own apikey.

Here's what your application must do:

  1. load ABC products from ABC WD's API into Salido's DB
  2. allow an user to add new products to Salido's DB
  3. allow an user to update existing products in Salido'S DB
  4. expose a list of products in Salido'S DB using an API
  5. allow a user to update existing products in Salido'S DB using an API
  6. demonstrate your API calls using RSpec tests

Your application does not need to:

  1. handle authentication or authorization
  2. be aesthetically pleasing

Your application should be easy to set up and run on Rails 4 or later. It should not require any for-pay software.

Evaluation

Evaluation of your submission will be based on the following criteria.

  1. Did your application fulfill the basic requirements?
  2. Did you document the method for setting up and running your application?
  3. Did you follow the instructions for submission?

Additionally, reviewers will attempt to assess your familiarity with standard libraries. Reviewers will also assess your experience with object-oriented programming based on how you've structured your submission.

About