Skip to content

Instantly share code, notes, and snippets.

@ViditChitkara
Last active August 13, 2018 18:03
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ViditChitkara/5f3f905ba1f38f0bf4b0bbe5f9383485 to your computer and use it in GitHub Desktop.
Save ViditChitkara/5f3f905ba1f38f0bf4b0bbe5f9383485 to your computer and use it in GitHub Desktop.
Description of work done during GSoC'18

GSoC 2018 (Email Notification Overhaul)

Aim

To incorporate feature of recurring digest emails based on user preferences and subscriptions. The project involved complex cron scheduling and incorporation of a queuing backend to support background tasks.

Project

Digest Emails

Integration of Redis and Sidekiq

Redis is a key value based database which is used to support queuing backends like sidekiq. Sidekiq is a queuing backend used to run background jobs and their scheduling. It also provides a dashboard to monitor the tasks running in background.

  • A ruby gem called "Sidekiq" was integrated
  • Redis was added as a part of docker compose (used for deployment purposes)

ss-gsoc

Pull Requests: #2738, #2772, #2782

A mailer was deployed along with a simple email template

A job was created which runs in background to send digest emails. The profile page consists of link to test the feature. Unit tests were written accordingly.

Pull Requests: #2711

Finally the User Interface of digest email template was improved using bootstrap styling

gsoc-2

Pull request: #3113

Emojification

  • Emoji autocomplete feature was incorporated for all the textareas and textfields. Horsey js library was used to make the autocomplete feature!
  • Like via multiple reaction feature was introduced. This feature included polymorphic associations in models. This helps to reuse the like model to operate on answers as well as questions or any note.

Emoji Autocomplete

PRs: #2832

Like via multiple reactions

PRs: #2869, #2926, #2999

ss2

ss3


PRs and Commits

Mentors

  • Jeffrey Warren
  • Stevie Lewis
  • Amanda Snow
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment