Marley Spoon
Rails application that consumes recipes data from Contentful API and displays it.
Requirements
- Ruby version 2.6.0
- Rails 5.2
- Bundler version 1.17.2
Technology used
- Language
- Ruby
- Framework used
- Ruby on Rails
- Development and testing
- RSpec Rails
- Rubocop
Setting up
- clone this respository
git@github.com:tomily1/marley-spoon.git
. - Open the cloned directory with
cd marley-spoon
. - Run
bundle install
to install dependencies - run
cp -v .env.sample .env
- copy over your environment credentials to the .env file. i.e set
SPACE_ID
,ENVIRONMENT
andACCESS_TOKEN
. - run the app with
bundle exec rails server
- the app will be available on
localhost:3000
Live Demonstration
This app is available and hosted on Heroku and it is available here https://marley-spoons.herokuapp.com.
Future Improvements
This project covers the basic implementation and is written well enough to easily allow improvement and upgrades and also well tested with a good coverage. However, there are some improvements to be made. These changes include but not limited to:
-
Allowing pagination in the frontend to allow fetching of recipes that are more than a page limit (for now, there are 28 records and maximum allowed is 100)
-
Currently we memoize api data from contentful which is enough for now, a more robust way is to use a caching system (e.g. redis) and serialize data from cache on fetch. This will reduce the cost of making api calls, also tackle rate limiting issues incase the traffic increases in the future.