Giter Site home page Giter Site logo

rickastley's Introduction

National Rick Astley Hotline

You're welcome, Internet.

  • Australia: +61-3-8652-1453
  • New Zealand: +64-9-886-0565
  • UK: +44-11-7325-7425
  • USA: +1-760-706-7425

Want me to continue bringing whimsy to the world? Support me on Patreon.

You can also become a fan on Facebook.

Technical details

The National Rick Astley Hotline brings joy to thousands of people each year. It uses the following software stack:

  • Twilio for the front-end numbers.
  • Flask for running the microserver that handles requests from Twilio.
  • Zappa for deploying the flask app to AWS/Lambda.

Running this code

First, set up your virtual environment and install the requirements:

$ virtualenv venv
$ . venv/bin/activate
$ pip install -r requirements.txt

To run, simply:

$ . venv/env/activate   # If not already in your venv
$ python rickroll.py

This runs the flask server on a local port, so you can poke around with it.

The flask quickstart explains how you can run flask on a public server, at which point you can point a Twilio webhook at your server and you've built your own hotline!

Deploying with Zappa

The main service runs using AWS Lambda, a scalable, serverless platform which removes the overhead of needing to maintain an underlying server. The Zappa documentation provides detailed set-up instructions, but if you have your ~/.aws/credentials file in order, it should be as simple as:

$ . venv/bin/activate
$ zappa init
$ zappa deploy

Record the URL it spits out, connect it as a webhook to your own phone number with Twilio, and you have your own serverless Rick Astley Hotline!

How much do you spend bringing joy to Rick Astley fans?

As of mid 2018, connection costs were averaging about $900 USD/yr. It's totally worth it for the joy it brings others.

If you want to defray my hosting costs, there's always bitcoin and Patreon.

rickastley's People

Contributors

pjf avatar s-t-e-v-e-n-k avatar

Watchers

James Cloos 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.