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).
- First, fork this project on github. You will need to create an account if you don't already have one.
- Next, complete the project as described below within your fork.
- 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).
- Include in your README any assumptions or other information you want to communicate.
- Include documentation of how to work with API calls.
- Clone the repository
- Next, complete your project as described below within your local repository
- Email a patch file to the appropriate address at Salido and your recruiter to let them know you have submitted a solution.
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:
- load ABC products from ABC WD's API into Salido's DB
- allow an user to add new products to Salido's DB
- allow an user to update existing products in Salido'S DB
- expose a list of products in Salido'S DB using an API
- allow a user to update existing products in Salido'S DB using an API
- demonstrate your API calls using RSpec tests
Your application does not need to:
- handle authentication or authorization
- 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 of your submission will be based on the following criteria.
- Did your application fulfill the basic requirements?
- Did you document the method for setting up and running your application?
- 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.