Ruby on Rails / Spree Extension / Recently Viewed / TDD + New feature

Ruby on Rails / Spree Extension / Recently Viewed / TDD + New feature

Closed - This job posting has been filled and work has been completed.

Job Description

https://github.com/futhr/spree_recently_viewed

"This extension maintains and displays a list of the products a user has recently viewed."

The extension is forked for older version of Spree but need to be updated to work seamless with Spree 2.x. Even if we made the tests pass on Travis doesn't mean that it fully work due to poor test coverage.

We have upgraded most part the extension but due to our schedule we need assistant to write tests due to that it has no real test coverage including required Capybara feature specs due to these confirms that the extension hooks into the Spree version correctly.

But we find that only display a list of recently viewed products for a gem only is quite trivial. So additional functionality should be add to display recently bought products when viewing each product.

Step one

- Update module so it work with changes in Spree 2.x (if needed)
- Update so views and hooks apply seamless into Spree 2.x
- Rspec tests coverage >= 95%
- Feature specs with Capybara so we know it always there
- Some basic Refactor (if needed)
- JS and CSS in views is ugly, try to move these (if possible)

Note: Don't forget to checkout different branches you might find neat things that can be cherry-picked straight into your working clone and save you some time.

Step two

- Bump major version … then
- Add migrations for relationships for new feature
- Add boolean preferences to turn on/off the two features (in spree admin)
- Class decorators etc for the new functionality
- Deface hooks and views (probably you will be able to reuse same code)
- Full test coverage for new features

Note: If Spree core team don't agree on merge new features we just rename the gem and submit pull request with commits before major bump.

Things not included in job

- Translations and other trivial things you can leave behind and we will do commits on this.

Contractor requirements

This is a job for anyone that are very comfortable with Rails, RSpec and Capybara. Knowledge of Spree and Deface or at least that you can understand its API quick.

How to apply

1, Please checkout the source code of the project before you apply, its open for all so you can just git clone it and test it out.

2, Don't apply please with irrelevant long CV and showcases from your copy & past bin, write a short message with relevant info about the task (we Ruby developers to and like things short and techy).

3, Don't apply please if you think you can include learning Spree in the hours paid, update yourself on your spare time.

4, It would be nice if you send us your Github link and Skype id or best to chat with us on IRC.

5, Please contact us for your estimation before starting. If we consider it reasonable we will devote the task for you during 24h.

We will submit many similar "coffee-break-jobs" based on some of our forks/repositories and looking for right person to assist us with those and some other private extensions.

Work style

Its of high importance that you do frequent pull requests and keep your branch updated so I can help out with the trivial stuff and other issues.

Spree dev docs: http://guides.spreecommerce.com/developer

Communication

- By Skype
- You can also at IRC freenode.org ask for help if you get stuck at #spree