GithubHelp home page GithubHelp logo

colinw520 / hydra Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 1.57 MB

Hydra powers TextMy.team, and serves as the basis application for many other development projects.

Home Page: https://textmy.team

License: The Unlicense

Ruby 41.17% JavaScript 0.28% CSS 11.21% HTML 45.40% CoffeeScript 1.95%
messaging twilio-sms-api heroku boostrap4 smartlisting

hydra's Introduction

hydra

A simple application for texting your contacts.

hydra's People

Contributors

colinw520 avatar

Watchers

James Cloos avatar

hydra's Issues

Add a "Remove/Disable" account functionality

Add the ability for a user to disable and/or delete their account.

  • Located in the "Settings" page
  • Available only to those with Admin privileges

Do we want to include an overall account disable (only available to Admin privileges)?

Store & Display Call Logs

We log it every time a Hydra controlled line with call forwarding receives a call. Since this costs money, and to one day support call recording, let's start showing these logs. It adds a lot of value to know how often a line gets called.

Make call response message customizable

Allow admins to specify the message that is spoken if someone tries to call a line that is not setup for forwarding.

Also, allow admins to reject calls outright if they want.

Tagging and Sorting Contacts

Creating this issue to fine-tune some of the sorting issues we have been working. Upon trying to sort my contacts, I found the following issues:

  • The "select all" check box does not select any contacts after I sort by tag or title

  • Is there a way for there to be "live updating" after a second tag is typed into the sorting field (instead of having to click "update")? This is a really minor thing, not sure how difficult it is.

Add Non-Unique Internal Identifier column to Contacts

Allow users to specify an internal identifier of some kind on the Contact record. This could be an employee id, customer id, user id, anything.

  • Add column
  • Adjust forms
  • Adjust import logic
  • Adjust import instructions

At this time, we will NOT be enforcing uniqueness validation on this.

Phone Numbers need to be stored consistently.

We need to implement a solution for ensuring all numbers are stored in the international format, ie: +13162588774

This will ensure that lookups based on the phone number are accurate.

Messaging Activity Summaries

One-by-one email notifications sound annoying. Let's send out daily/weekly/monthly summaries! Lines should have many summary subscriptions (multiple user subscribers)

Twilio Bed Wetting.

When creating a new account on TextMy.Team, and connecting their Twilio account, the user is asked to 'connect or create a twilio account'. Once on the Twilio page, submitting the form results in a 500 error. We need to reproduce it, screen capture it, and send it to Twilio.

User Profile Page

After setting up the company, only my email address shows on the "Users" page. No change after updating my profile in the "My Profile" page

Profiles need to be editable.

Imports

Need to refine:

  • [] Instructions
  • [] Error Messages
  • [] File Type Warnings

Install Text Message Word Filters

Users should be limited from included certain words in their outgoing text messages from TMT. The primary example would be explicit words.

Text messages cannot be sent outbound with explicit content
Text messages can be received with explicit content, but flagged.

Add Support for Multiple Plans

Different people need different things. By offering multiple plan levels, we can provide what peple need, at the price they can afford.

This will complicate the management -- but ideally it will attract more users.

Editable Contact Rows

image

Let's add in place editing of the first name, last name, email, title, and tags (not phone number...that requires more validation than makes sense to do with in place editing I think...

MMS Support

We need to support the sending and receiving of MMS via Twilio.

  • Update MessageRequest to has_many attachments.
  • Update Message to has_many attachments.
  • Update Forms to be able to upload multiple message attachments (No More Message Request Modal!)
  • Update views to be able to show MMS received

Also, we will need to look into blocking numbers. This can be abused by disgruntled contacts trying to ratchet up costs.

Invitation Emails Yield an Error

When clicking on the 'accept invitation' link in the invitation instructions mailer, the user is taken to a completely broken web page. Adding the 'www' to the link appears to resolve this.

Can we update the application to be more fault tolerant regarding the WWW?

In the meantime, can we make this error not happen?

Organization Deactivation

We need to make sure users can easily destroy their accounts, and that account administrators can easily shut down their organizations.

  • Remove the 'Delete My Account' panel until BizLogic is figured out

  • Create a 'deactivate organization' option. Here's what this should do:

    • Releases any reserved lines.
    • Cancels the subscription
    • Disconnects Twilio
  • Make a mailer to confirm subscription cancellation & account deactivation

  • Don't allow the last admin user to delete their account until the organization has been deactivated

Make Twilio Useage Report

Users should be able to see a report of their monthly Twilio useage and charges associated.

Available for everyone to see.

Make TMT Admin Dashboard

Create dashboard for Andy and Colin to monitor performance and data for TMT. First idea of things to include:

  • List of all Organizations with their number of Users/Contacts, lines, message/call performance
  • Payments received (?)
  • List of the latest errors (from RayGun)
  • Site Analytics reports? (this could be really big, might need to tailor what we want to see)

Disable links to pages requiring organization setup

From test:

Before setting up my company information and buying a line, if I click on the "Messages", "Directory", "Lines" buttons, it brings up an error screen. Would be better to say "please set up company first"?

Help and FAQs Page

Create a page that shows help and facts (like Admin privileges, troubleshooting, tutorials on sending a message, etc)

Andy will write this up in MS Word

Create compelling homepage

Develop a home page that explains what TMT is, the benefits, pricing, and unique features.

I will not have the time to make the homepage with CSS, unless we somehow use Divi and make it the homepage with the rails back-end.

Dashboard Needs Love

The dashboard needs to be simple, and display the most pertinent, relevant data summaries.

Record Product Demo

Key points to demonstrate:

  1. How to sign up
  • Twilio signup
  • TMT signup
  1. How to upload a contact

  2. How to send a message and view messages

  3. How to view your statements

Basic Permissions

image

We need to implement these very basic permission levels.

Only Admins can do the following things

  • Admin can edit other users
  • Admin can invite other users
  • Admin can change org settings
  • Admin can buy lines
  • Admins can manipulate line settings

Create a configurable AutoResponder

For organizations that do not want their contacts to be able to reply to messages, allow them to configure an auto-response.

  • Add sms_auto_response to individual Line settings
  • Add adaptation logic to Twilio::Messages::ReceivingController

Weekly Regression Testing Tasks

List of weekly regression testing to be completed on TMT

  • Send text message to one person
  • Send text message to multiple people
  • Reply (from a phone) to a message sent by TMT
  • Verify documentation of latest messages (sent and received) in TMT
  • Upload a new contact manually
  • Import new contacts with a .CSV file

Make CSV imports compatible with a wider possibility of CSV files

So, this isn't exactly a bug, but it's still aberrant behavior. The importer is currently extremely strict regarding the import file types it is willing to work with. Notably, it rejects anything that isn't a PURE CSV file, including Excel-exported csv's, plaintext csvs, and more. Believe it or not ( I know, it's stupid ) -- almost every word processing application encodes csv files differently...for some reason.

To make contact imports more useful for ALL, we need to accept a wider array of file types. This gets tricky -- because we still need to be able to parse the thing, and for that we need it to be amenable to csv-ish commands.

This is the first in a range of issues around imports, including better progress transparency, error messages, and more.

Here are the test cases we need to support:

  • As a Windows user, when I save a properly formatted EXCEL spreadsheet without any extraneous commas as a "CSV", then I should be able to import that sheet.
  • As an OSX user, when I save a properly formatted EXCEL spreadsheet without any extraneous commas as a "CSV", then I should be able to import that sheet.
  • As CHROME user, when I save a properly formatted GOOGLE SHEETS spreadsheet without any extraneous commas as a "CSV", then I should be able to import that sheet.

Bonus points: write Meta tests that support these requirements.

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.