Coder Social home page Coder Social logo

partymode's Introduction

partymode ๐ŸŽ‰

Buzzing people into your apartment building when you're having a party (Or, during COVID, getting your food delivered)?

Ain't nobody got time for that! That's why I built partymode. It's a service that:

  • Auto-buzzes people into my building when enabled.
  • Otherwise forwards calls to my phone.

It uses Twilio to handle calls and SMS. It integrates with Slack so I or anyone in my workspace can enable it.

Technical details:

  • Written in Kotlin with the Micronaut framework.
  • Has an SNS integration that downstream consumers can connect to (I use this for a Slack webhook/Alexa alert).
  • Has a Google Assistant endpoint so you can be extra-lazy and just say "Hey Google, open partymode" to enable it for 3 hours.

Installation

Prerequisites

  • Get a number from Twilio, which costs $1/month.
  • Get an AWS account.
  • Get admin access to your Slack workspace.

Secret Manager Setup

Add the following secrets to Secrets Manager: TWILIO_AUTH_TOKEN

Next, grant "Secret Manager Secret Accessor" and "Secret Manager Secret Viewer" privileges to the IAM compute account for your service.

Slack setup

  • Create a Slack webhook and set the SLACK_WEBHOOK_URI env var to that uri.
  • Create a Slack bot and subscribe to the following bot events: app_mention, message.channels, and message.im.
  • Add oAuth scope for chat:write.

Initial deployment

Set the PARTYMODE_PHONE_MY_NUMBER env var to your phone number. Make sure the format is +19999999999. Set the PARTYMODE_PHONE_CALLBOX_NUMBER env var to your call box's phone number. Make sure the format is +19999999999. The app will reject calls from any other number, in the event you inevitably get spammed with robocalls.

Twilio setup

In your Twilio dashboard, create a TwiML app and point the endpoints to the ones provisioned in AWS. Point your Twilio number to this app.

Final steps

Finally, of course, have your apartment forward your call box to your Twilio number ๐Ÿ˜Ž.

Reference:

partymode's People

Contributors

davidmerrick avatar sullis avatar

Watchers

 avatar  avatar

Forkers

sullis

partymode's Issues

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.