GithubHelp home page GithubHelp logo

secret-santa's Introduction

Secret Santa

Quickly draw names from secret santa and send emails telling people about their own.

Running

  • Install Deno. The latest version should work, but this is as of 2022-11-25 and I am using v1.28.1.
  • Install the AWS CLI. You should configure a profile called SecretSanta, that has enough IAM permissions to send emails with Amazon SES. Or change the loaded profile to something else you want.
  • Change the email template and the origin email address to whatever you want, and whatever email address you control.
  • Add a data.json file in the root of the directory and specify your input there: people key has people's names and emails, and pools has the people that can't gift each other. Something like the following:
{
  "people": [
    { "name": "Alice", "email": "[email protected]" },
    { "name": "Bob", "email": "[email protected]" },
    { "name": "Cathrine", "email": "[email protected]" },
    { "name": "Mike", "email": "[email protected]" },
    { "name": "Hannah", "email": "[email protected]" }
  ],
  "pools": [
    ["Alice", "Cathrine"],
    ["Bob"],
    ["Mike"],
    ["Hannah"]
  ]
}

Run with deno run --allow-env --allow-read --allow-net main.ts

Notes

  • If an assignment is impossible, such as if there are only two pools and three participants, you're gonna get stuck on an infinite loop.
  • SES is gonna blow up if you don't have prod access or try to send through my email address

secret-santa's People

Contributors

joaonmatos avatar

Stargazers

Luca Weissbeck avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.