hackclub / hackathons-backend

Powering https://hackathons.hackclub.com

Home Page:https://hackathons.hackclub.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Send swag requests via email

garyhtou opened this issue · comments

When a hackathon is approved AND it has requested swag, we need to send an email with the following:

  • Organizer Name
  • Hackathon Name
  • Organizer Address

The email address receiving these requests is actually a Slack channel (#hq-mail). DM me for that email address.

After sending the email, the responsibility of getting the stickers to the organizer is off our hands. The Mail Team is responsible from there on.


We only want to send one swag envelope per approved hackathon. If a hackathon is approved multiple times, we don't want to send multiple envelopes. I'd suggest having some sort of way to track shipments. Possibly a Swag::Shippment model?? Here's some quick sudo code

# requested_at datetime field
class Swag::Shippment < ApplicationModel
  after_create_commit :send_request

  belongs_to :hackathon
  has_one :mailing_address, through: :hackathon

  def send_request
    # send mailer
    touch :requested_at
  end

end
# existing Hackathon model
has_one :swag_shippment

# when marking a hackathon as approved, create a `swag_shippment` if it doesn't already exist

We will not be building out a full mail/swag tracking system within Hackathons Backend. @recursiveforte is working on a mail tracking dashboard for Mail Team. Once their new mail tracking dashboard is built, we'll be sending a POST to request mail shipments (rather than emailing a Slack channel)

The Swag::Shippment model could also be designed to be for any type of physical mail (not just swag)
It's not necessary at this moment

I'm currently chatting with @recursiveforte about the observability of shipments after we POST them to #hq-mail.

The email copy should be something along the lines of:

Please send a hackathons.hackclub.com sticker envelope to Gary Tou. Their address is:

Hackathon Name c/o Gary Tou
Address Line 1
Address Line2
City, State ZIP
Country

Is anyone interested in taking this on?