Comments (1)
Some thoughts for you to consider based on our experience building a similar system for Louisville:
- Consider queueing up messages for delivery. That is, each queue item will contain the following fields at minimum: the message to be sent, the recipient's phone number, the time to send the message. A separate "SMS queue processor" process can process the items in the queue and deliver the messages. This architecture has many advantages, some of which are:
- In the initial stages of the project, you (or similar superusers of the system) could inspect the contents of the delivery queue before the actual message delivery takes places
- You have the ability to quickly suspend sending messages en masse simply by stopping the "SMS queue processor" process. Again, something that might be useful in the initial stages of the process.
- You can easily implement blackout times (such as between the hours of 11PM and 6AM).
- You can create multiple "taps" into this queue besides the main "SMS queue processor" process. For instance, you could have a separate "email queue processor" process go through the queued items and email each to you for review X minutes/hours before the scheduled delivery time for that item. Similarly, you could imagine a "digest email queue processor" process that goes through queued items for the past Y hours/days and creates a report to send out.
- This might be an obvious one but record all conversations in a separate log, indexed by contact #. This will be very useful not only for debugging issues but also for understanding the intent of users' interactions with your system.
- This may again be obvious but strongly consider implementing a catch-all response that directs users to call a phone number for further information.
from promptly.
Related Issues (20)
- Notification scheduled for 5:00pm PST sent immediately HOT 4
- Admin dashboard formatting HOT 1
- Unnecessary link in Upcoming Notifications HOT 1
- Edit scheduled notification results in 404 error HOT 2
- Edit scheduled notification does not filter messages based on organization
- Editing your own account navigates to sign-in screen HOT 1
- Should User Admin sub-navigation option be available from Admin Dashboard? HOT 1
- UTC date/time issue with Dashboard?
- Sent Reminders Dashboard does not match Notifications screen HOT 2
- Notification did not delivery
- Export Table button error
- Reports search does not work HOT 1
- Cannot change a super user back to regular user.
- Reports screen; records per page links don't work
- Reports screen; table navigation doesn't work
- Reports screen; column headers appear sortable but don't work HOT 1
- UTC conversion issue on Dashboard
- Data Import
- Editing phone number Group deletes previous entries HOT 1
- Import count does not match number of phone numbers in Group
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from promptly.