This application was made as part of Marley Spoon's hiring proccess.
In this application we can
The list contains a picture and title of multiple recipes. We can also check more informations by using the "View full recipe" button.
Here the can see the recipe's title, picture, description. We can also see the recipe's tags, if there is any and the chef's name, if it was informed.
The recipes data are provided by Contentful, so, that means we don't have a database on this project.
The project is also running on
https://ws-marley-spoon-recipes.herokuapp.com/
- Bulma as my front end framework. I learned it a year ago and loved the simplicity and variety of options that Bulma gives me.
- Capybara is my option to create frontend tests.
- CircleCI as the CI for this project.
- Heroku to deploy our project.
- Rails - Rails is the framework I'm most confortable working with and the one I've spent more time learning. It's powerful and really easy to start a new project.
- Rspec for testing. A powerful and versatile tool which I always use in my projects.
- Webmock is the tool I prefer to avoid external calls in my tests. I opt for Webmock rather than VCR because Webmock gives me clarity of what external calls are happening is my tests.
This project can be improved further by
- Adding some caching to avoid excessive external calls;
- Use the CDN version of Bulma;
IMPORTANT Make sure you have Docker and Docker Compose first.
Copy the .env.sample
into .env
cp .env.sample .env
And then build the project image
docker-compose build
Run this command in your terminal
docker-compose up
After the boot the app will can be accessed in http://localhost:3000
Run this command in your terminal
docker-compose run --rm web bundle exec rspec
IMPORTANT Make sure you have ruby 2.6.5
installed.
Start by running the application's setup
bin\setup
This will
- Copy the
.env.sample
into.env
so you can change the values locally; - Install the Ruby dependencies;
- Install the Javascript dependencies;
Run this command in your terminal
bin\rails server
After the boot the app will can be accessed in http://localhost:3000
Run this command in your terminal
bundle exec rspec