This Rails application is a foundation for the following Ruby on Rails technical test. To start the test please fork this repository and follow the instructions below.
- Create an API endpoint that receives the following format
paramshash and creates the resources:
{
sales: [
{
date: '20140103',
time: '0700',
code: 'FL',
value: '2.00'
},
{
date: '20140103',
time: '0815',
code: 'DO',
value: '1.00'
}
]
}- Create a JSON API endpoint for reading a specific sale.
- Create a JSON API endpoint for destroying a specific sale.
- Implement password security for sales during their creation that must then be used to retrieve that sale.
- The creation API endpoint should be able to receive both a singular resource hash and an array of multiple resource hashes.
- Data should be stored in in it's appropriate format but presented in the fashion demonstrated above.
- Please implement password security manually - do not use
has_secure_password.
You should not spend more than 4 hours on this test. We measure time spent developing as the time between your first and last commit. If you complete the test before reaching the time limit do not feel obliged to continue up to the 4 hour marker.
We use RSpec and follow an outside-in testing approach. Approach testing your work in the same way you would during your day-to-day development as we use tests as a marker for code quality.
Please make use of quality indicators such as CodeClimate, Travis CI and Coveralls. Update the provided badges in your README.md when setting up.
Please keep your commit history clear and descriptive, following best practices for Git commits. Your commit history allows us to observe your thought process and how you approach a problem.
- Hexagonal Rails
- Demonstration of best practices
- SOLID principles
- Design patterns
- TDD