Skip to content
ryanpitts edited this page Sep 25, 2014 · 5 revisions

making some dev notes ...

Membot Apps

Notes

Logs any string of text, which can be categorized and retrieved by hashtag. Useful for tucking away otherwise transient ideas.

Note model

  • timestamp of creation
  • text
  • person who created it
  • category

Creation: In Slack, "membot we should consider csvkit for a #codeconvening"

Retrieval: In Slack, "membot please show me #codeconvening"

Reminders: I'm thinking a Monday morning email to everyone in the group, with a catalog of all the notes that have been added in the past week.

Commands

"membot please show me #codeconvening" "membot please show me #codeconvening since 3/12" "membot please list hashtags/categories"

Reminders

Logs a string of text, and then sends an email reminder to the user who created it on a specified date.

Reminder model

  • timestamp of creation
  • text
  • person who created it
  • category

Creation: In Slack, "membot remind me to revise the fellowship questions on 3/12/2015"

Notes: The date parsing should attempt to be smart about many types of input: "on Monday," "on March 12" (should know whether that's next year), "on 3/12," etc.

People

Stores contact information and notes about people in the community we want to keep track of. A little rolodex for things like "this person is kind of badass, we should keep them in mind for XXX."

Person model

  • first name
  • last name
  • twitter handle
  • github handle
  • email address
  • where they work
  • notes

Creation: Likely via admin interface rather than Slack

Retrieval: Searchable index on the membot site. Maybe a Slack option that searches name/notes, retrieves link to detail page on membot site? "membot please show me people like XXXX"

Groups

Stores contact information about groups we want to keep track of.

Group model

  • name
  • location
  • website
  • email address

Creation: Likely via admin interface rather than Slack

Retrieval: Searchable index on the membot site. Maybe a Slack option that searches by name, retrieves link to detail page on membot site?

Major Events

Stores information about major events (e.g. conference level, not recurring local events) that we want to keep track of.

Major Event model

  • name
  • location
  • start date
  • registration deadline
  • submission deadline (e.g. for conference proposals)
  • website

Creation: Likely via admin interface rather than Slack

Retrieval: Searchable index on the membot site. A Slack command could search by name and retrieve link to detail page on membot site. "membot please show me events like XXXX"

Reminders: This app should send out automatic reminders each time a date field is drawing near. I'm thinking a weekly trigger (maybe on Mondays?) that collects event with a submission deadline, registration deadline, or start date in the next 30 days.

Down the road, Major Event data could be also used to trigger reminders to people based on locale.

Templates

Stores big chunks of text that we might want to reference down the road. Imagine coming up on MozFest and going "membot please show templates for mozfest emails."

Template model

  • name
  • text

Creation: Via admin interface

Retrieval: Searchable index on the membot site. A Slack command could search by name and retrieve link to detail page on membot site. "membot please show templates for XXXX"

Messages

Defines automatic emails to send, using data from other Membot apps.

Clone this wiki locally