Giter VIP home page Giter VIP logo

scalasmsalertsystem's People

Contributors

binyomen avatar codeforkjeff avatar dingelsz avatar dtenenba avatar errorsandglitches avatar joshmcfarlane avatar zatricion avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

scalasmsalertsystem's Issues

Add alert / follow up history

As a registered user, it would be nice to be able to see a history of alerts and follow ups sent out (including who they were sent to)

Upgrade Play Slick

The app currently uses 3.0.2, which came out in Aug 17 2015, can we upgrade to 3.2?

Add ability to view current subscribers data

It'd be nice to have a view for logged in administrators to be able to see what phone numbers have interacted with the system and what state they are in (subscribed, unsubscribed, etc)

Migrate to Dynamo DB

Problem

Currently, the database is stored with the instance. If anything happens to it, well, not good.

Solution

Rather than using an RDS solution, DynamoDB provides a free tier for which we will not reach the limits of. Unlike other free tiers, this does not expire after the introductory 12 months.

Notes

This should be part of the cloud formation template when this is done. For the moment, because feature parity is trying to be reached, the CF template will initially not have this.

UI to look up status of phone number

We've gotten issues where something is or is not working for a person. Folks part of the tech team should be able to log in and see what the status of a given phone number is.

Wire up multiple language support

Currently the system only supports / assumes English for all languages. Build in locale support to match what we currently have in the Django version.

This will require updating the message processor to understand multiple responses to the join / change language / unsubscribe messages for the various languages, and then updating the alert / follow up forms to adjust local based on the subscriber stored location.

Add singular/plural of person/people to SubscriberActions

Problem

There is code in FollowupController that sets the personWord to either person or people based on the number of people detained. This needs to be language specific.

Solution

SubscriberActions probably needs to be renamed to something that has to do with language. Additionally, all of the words should be kept in the messages.* files.

Set up persistent database for non-local development

Currently the system is wired to an in memory database. We need to create a production configuration that instead points this at an RDS database (schema should be the same as the existing Django version so they can be re-used)

Confirm address is correct when reporting over text

This could be done by retrieving the canonical form of the address from geocoding, and responding asking if it's correct. It's also possible that if geocoding returns multiple possible addresses, we could ask the reporter to respond with the number corresponding to the correct address.

Add subscription completion date

Problem

It would be cool to have the date that a person completed registration so we can perform analytics.

Solution

Add date to database

Add zipcode to the existing sign up flow

Problem

Zipcode is a desired field to keep in the DB for data analytics.

Discussion

Can this be pulled from the text message itself and simply ask the user to confirm? Otherwise we can ask the question in the flow itself. It may be kind of creepy to ask to confirm.

Move message sending to SNS

Twilio for long phone numbers currently throttles at about 1 message / second. We should swap out the message sending for SNS instead similar to the Django implementation.

Fix Twilio message encoding

Currently message encoding does not appear to be working correctly for outbound messages.

Steps to reproduce:

  • Sign up with a new phone number (text "join")
  • Wait for response

This produces a message with ????s instead of the expected characters. It seems like our response isn't being treated as UTF-8 encoded.

Simplify language code

Problem

The DB uses ISO-639 part 2, which is a 3 letter language code while the language files are 2 letters. This requires us to keep a mapping in the code, which is not optimal.

Solution

It may be as easy as changing the files to use the 3 letter extension and getting rid of the mapping logic. I'm not sure....

Create free form notification

Problem

Sometimes, the given templates are not applicable to the alert that we want to send out.

Solution

Create a free form message for each language that the user can specify the notification to go out.

Limit geocoding to a specific region

We can, if we want, try to limit geocoding results to Washington, and also don't include extra information (like "WA" or "USA" or the zip code even) in the fully formatted addresses produced by geocoding.

Support reporting events via SMS

Currently, reporters have to go to the web portal in order to notify subscribers. We should also support reporting via SMS for users whose numbers have been whitelisted.

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.