Code Monkey home page Code Monkey logo

quicklist's People

Contributors

gitter-badger avatar royallthefourth avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Forkers

gitter-badger

quicklist's Issues

Add web API

A web API with all the features of the command line would be useful. Probably ought to have multiple per-user tokens.

Add 404 page

We don't have a 404 page yet. Just needs an action and a layout.

List index page

Table with number of contacts and number of messages.
Each sum links to a paginated index of:

  • contacts
  • messages
  • deliveries

Delivery index

Table of deliveries by scheduled send date with links to contact, message, and list

  • get handler
  • route generator
  • route config
  • layout
  • menu entry

List view page

A page that shows a single list and links to its messages, contacts, and deliveries

Message add/edit page

  • Subject and body entry
  • Return to message detail page
  • Message edit layout
  • Message add GET handler
  • Message add POST handler
  • Message edit GET handler
  • Message edit POST handler

Limit delivery queue execution time

SMTP is really slow and the delivery queue should stop itself if it runs too close to the next cron. Perhaps a 55 second limit would be useful.

Signup widget

Add a signup widget that can be embedded on a website. Each widget probably needs a list of authorized domains.

Message detail page

  • Show the contents of a message
  • Table of delivery info
  • Message edit button
  • Sent-to-list miniform

Cleanup CLI commands

Commands should line up better with web interactions. Some like contact:add are pointless and don't belong at all.

Distinguish system messages from proper messages

System messages (eg optins) use the delivery queue for SMTP throttling purposes, but really don't belong in the reports. Add a system BOOLEAN column to messages and filter it out of all associated reports.

Login/logout

Users (currently managed entirely by CLI) need to be able to login and logout of the web GUI

Audit helper functions for DB interaction

Direct database interaction should only happen inside the Db namespace functions.
The Db functions should only be used within the console commands and request handlers.

Add HTML messages

  • Add migration converting body to text_body and adding html_body
  • Update send function to appropriately send text or multipart messages
  • Add detail/summary blocks for show/hide of the text body, html body, and HTML preview
  • Add iframe that shows a preview
  • Add JS that posts the current HTML to the preview frame
  • Add a page that echoes whatever output is sent to it for HTML previews
  • Add a comfortable, syntax highlighted editor for the HTML entry box

Add a seeder

Having to recreate test data is getting old quick. Need to write a seeder to insert reasonable-looking test data. Maybe two different seeders: one to test UX on small datasets and another for large ones.

List add contacts page

  • route function
  • route config
  • link from list view page to "add contacts"
  • layout with textarea and instructions to add one email per line
  • send optin messages checkbox
  • get handler
  • post handler

New list form

  • Put a link on the list index page to "new list"
  • Display a form
  • Insert the new list

List detail page

  • Show recently added contacts, link to all list contacts page
  • Show list of recently sent messages, link to all list messages page

Message schedule delivery page

The message page "send to list" form should send the user over to a "schedule delivery" page

  • url generator
  • route definition
  • get handler
  • form layout with prefilled date/time, message subject, and list name
  • post handler

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.