In our rails application we enable users to submit multiple types of feedback in a project. Whenever a user submits an issue, managers and moderators of the project get an email notification. We would like the managers to be able to choose to get email digests of those issue creation notification emails. The user story is as follows:
- When regular user creates an issue, manager gets an email
- Manager is then able to at the very bottom of the email select one of four buttons: Receive this email as a digest? Instant, Hourly, Daily, Weekly.
- Manager clicks on daily, and thus this calls an action in our web application and sets their preference globally to receive issue notification emails as a digest in one email every day. The digest email would contain the a list of the issue text, the creator, and the link back to the issue.
Your tasks would be as follows:
- Add to our emails the links for the digest preference options.
- Create a resource (controller) that respond to those button clicks in the email that sets their issue email digest frequency preference.
- Create background task (we use sidekiq) that will ensure those with digest enabled settings get the emails at the appropriate intervals.
- Create the email template that is used for digests.
- Ensure that users who have the digest and not instant setting are not instantly sent messages.
Please include what your approach would be to implementing this addition.
You must be familiar with ruby and rails development. Must be familiar with either cucumber and/or rspec testing frameworks as we require tests to be created to prove that the features work.
This is a small project that will help us get this needed functionality into our web application. This project is also a way for us to build a relationship for future work with the accepted candidate. This will get you familiar with our web application and open up the way for future ongoing work with us.
Background on us:
We are a start up that's building tools for information organization, feedback, and collaboration in the enterprise.
We're using rails 3.2 and jquery. Couchdb is the database that we're using.