Continuous integration (CI) is a software development practice that has exploded in popularity. CI allows developers to push code more rapidly by automating the building, testing, and deployment processes (read more about it here).
Travis CI is a widely used CI tool. It syncs with your GitHub account and can perform many different actions when code is pushed to your repositories such as build files, run tests, deploy, etc. If you are unfamiliar with Travis CI, they have a Getting Started page with documentation for literally dozens of languages, as well as a Travis CI for Complete Beginners guide.
This blog post will step through configuring Travis CI to send SMS notifications using Twilio Functions whenever a project is unable to build or fails a test.
In order to follow along with this post, the following is required:
Let’s get acquainted with Functions by building an app that monitors the price of cryptocurrencies. The finished app will use CoinMarketCap to send us pricing information via SMS about any cryptocurrency we send (Bitcoin, Ethereum, Dogecoin, etc).
If you’re already familiar with setting up a new Function, the finished code for this Function is available on Github here.
In order to build this application and use Twilio Functions you’ll need the following:
- A Twilio account (Sign up for free)
- An SMS-capable Twilio number
It may also benefit you to read the Intro to Functions blog post that explains a lot of the basics that this …
Twilio Lookup is a simple REST API for obtaining information about a phone number. Lookup can determine if a number exists, its type (landline, mobile, VoIP), and its carrier (Verizon, Sprint, etc) association. Lookup can also check if a number is able to receive text messages as well as format numbers into a standard format.
Let’s validate phone numbers using the Twilio Java library and the Lookup API and make the code easy to port into your existing Java applications. This post will be directed towards macOS and Linux users, as some of the commands will not work for Windows users.
If you just want to see the finished code, see this Github repository.
Configuring Our Environment
I recently started a small business using the online platform Storenvy. Storenvy integrates with Stripe, a popular online payments platform. As a small business owner, receiving notifications as soon as orders come in is critical.
Emails are easy to miss, forget about, or overlook, but one thing I never fail to read is a text message. What if it were possible to receive a text message every time my store makes a sale?
Note: If you’re only interested in the code, it can be found on Github here, along with a “Deploy to Heroku” button.What You’ll Need
In this blog post we are going to use a functional approach to creating a web application with Erlang and the Chicago Boss framework. Our application will display incoming SMS messages in real-time and allow you to respond to them in your browser using the Twilio API.
If you’re just interested in seeing the finished code for this blog post, it can be found on my Github here.
Why Functional Programming? Why Erlang?
Functional programming can be very intimidating to someone like myself who began learning to program using the object-oriented paradigm. Functional languages like Erlang pride themselves on their “no side effects” and “functions as first-class citizens” properties. This makes them ideal for concurrency and high-volume traffic applications.
Chicago Boss is a great stepping stone for OO developers looking to dive into functional programming. It aims to solve the problem of slow server-side templates and adopts familiar …
In this tutorial we will take a very beginner look at Spring MVC and use it build a ‘Hello World’ style application. We will then take that what we’ve built and turn it into a SMS sending and voice calling application using theTwilio REST API.
Spring MVC is a framework built on top of Java servlets that provides the components needed to build web applications using the model-view-controller architecture. It is one of the many tools provided by the Spring project.
If you’re just interested in the finished code you can find it on my Github.
Before we jump into the code it’s important to understand the model-view-controller (MVC) architecture that Spring MVC implements.
The MVC Pattern is a way of separating the logic of a program from the representation.
The model does all the heavy stuff like calculate data, work with user input, and …
Why is receiving voicemails still such a pain in 2015? With landlines you need to deal with overpriced and outdated hardware. On mobile phones you need to call a number, enter a password, and sift through the voicemails until you reach the one you want. Wouldn’t it be easier to just receive a text message to listen to a new voicemail? Fortunately, Twilio plus a little Java code gives you the power to do just that.
In this blog post we will use Apache Tomcat and Twilio to create a virtual answering machine that will receive and record all incoming calls. The answering machine will then text you a link to hear the message that was left for you.
If you don’t want to follow along and just want to see the code, it has all been open sourced in this Github repository.
The first step to building …
Calling into customer support or similar support lines can lead to some not so great experiences. Often times I find myself being tossed back and forth between different agents with no context of who I am talking to and when I am being transferred. These kinds of calls feel a lot like this:
A better way for agents to handle incoming callers is to use a warm transfer. The term “warm transfer” can mean different things to different people. For this blog post we are going to use this scenario to explain a warm transfer: Agent A (Artemis) is speaking to the caller. Artemis needs to transfer the caller to Agent B (Barnabas). Artemis conferences in Barnabas, introduces the caller to Barnabas and then releases the call.
In this blog post we will setup a very simple call center that supports warm transfers using Twilio’s Java helper library and an …
Getting started with Docker feels more like a game of Simon than it does learning a new tool. Using Docker on OSX requires, at a minimum, boot2docker and docker. Multi-container applications require docker-compose, as well. It’s extremely easy to confuse the interfaces for each of these applications. For example, build, up, start, stop, ps, and save are commands shared across two, if not all three of the applications. The cheat sheet below covers the most basic workflow necessary to work with docker.
Download and install the latest release package ( Boot2Docker-x.x.x.pkg) from here. Then run the following:
$ pip install -U docker-compose $ boot2docker init
$ boot2docker up $ eval "$(boot2docker shellinit)"
For a single container:
$ docker build -t yourapp_image . $ docker run …
In this post, we are going to build a simplified GroupMe clone using Meteor, MongoDB, and Twilio. The app will serve as an SMS group messenger that will let us create groups of phone numbers and blast a text message to every member of that group. We will also expand its functionality to allow groups and individual numbers to be toggled on or off depending on who we want to receive a particular text.
If at any point you are receiving errors and feel lost, or you just want to run this application without building it, you can obtain the finished source code here.
Otherwise, prepare to explore the Meteor universe.
Building Your Space Ship
The first step …