Rails app for messaging to groups via SMS and email. Controllable via web, email, and SMS user interfaces.
Ruby CSS JavaScript Shell
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Mission Net

Mission Net is a solution for sending messages to people via mobile phone text messages (SMS) and/or email. It was developed especially as a way to get important information (warnings about community unrest etc.) to members of our organization in an unstable country where Internet access is limited, but nearly everyone has a mobile phone. A key aim of the application is that it should be accessible by SMS and email. Users should not only receive messages but should be able to request information, broadcast messages, and change their personal details without having to use the Internet. A second driving aim is that the entire application resides online, so that there is no need for a local server or operator.

The development platform is Rails 3.2 with ActiveScaffold.

More documentation: bit.ly/OZTfcV

Important Note: this application is in early development, and so is this documentation. Furthermore, this is my first experience in making an app open source, so I’ll probably be making some mistakes along the way. Anyone is welcome to try out the system (which would involve installing and configuring it)# but you should use caution if you’re considering it for production. It is not yet an easy-to-install, ready-to-use application, at least if you have no experience putting a Rails application into production. That said, we are currently using it as a real-life application for rapid communication via SMS and email among nearly 200 users in Jos, Nigeria, where the main purpose is dissemination of security information. To date it has only been used quite lightly, so we don’t know how it will perform under a heavier load.

There is not yet a demonstration or sandbox site, but I hope to be able to add one soon. There are some screenshots throughout this document.

If you are interested in setting up a demo site, let me know.

Note that “Mission Net” is a provisional name for this application … it might conflict with some other app, or we might find a better name in the future …


  • Web-based directory with columns (fields) for name, nationality, phone numbers (2), email addresses (2), emergency contact info, location (drop-down selection plus free text detail field), blood type, willingness to be a blood donor, whether currently in-country, and dates for next departure and arrival.

  • Administrator-controlled nested groups. A group can represent an organization, a location, a mailing list, level of access to the database, etc. Any person in the database can be put on any group.

  • Ability to send SMS and email messages to one or more groups. Users can access the distribution list via SMS, email, or a web form. Thus they can, for example, send a single message to the system which will then be broadcast as an SMS to all the members of their organization, all moderators, everyone in a certain neighborhood, etc.

  • Users can request news updates, with an optional keyword. This reduces the problem of having to broadcast all messages to everyone because of not knowing who needs what. For example, if a crisis occurs in one area (e.g. Bukuru), a security leader could first broadcast a warning message to everyone alerting them of that fact. Subsequently, those interested in the conditions at Bukuru could request updates via SMS.

  • Users can request directory information via SMS or email.

  • All messages are logged and viewable on the web page. The list also shows the status of each individual sent message, based on the information received from the gateway. Depending on the gateway used, this can include whether the message was accepted into the gateway, whether it was rejected because of errors, and whether it was delivered to a phone (for SMS).

  • Messages can include a response tag. If a message is of such importance that it is essential to ensure that each person has received it, the sender can request a confirmation response. Recipients can confirm by SMS or email. The web page shows which recipients have or have not responded.

  • The sender can send a follow-up message which the system will send only to recipients who have not responded.

  • Authentication. Users log in to the system via their Facebook or Google accounts, using the email addresses assigned to those. For example, if I sign in using a Google account with email address h.potter@gmail.com, the system will find the user with that matching email address and log him or her in.

  • Authorization. Authorizations are currently hard-coded into the program, using the pre-defined groups Administrators, Moderators, and Members. More fine-grained authorization controls may be added later.