Project overview

We are going to build a serverless Slack application to simulate daily standup meeting.

How is it going to work?

  1. Application will be installed to our team’s SLACK_CHANNEL
  2. At time event (eg 8:30) (Time to ask questions) - application will send Direct Messages to the users and collect the responses.
  3. At time event (eg. 10:00) (Time to send report) - application collects data from the database and send it back to the SLACK_CHANNEL
Report
Report
Questions(menu)
Questions(menu)
Ask questions
to members
[Not supported by viewer]
scheduled-events
scheduled-events
Store to DB
And notify user
[Not supported by viewer]
Open dialog
Open dialog
slack-responses
slack-responses
SLACK_CHANNEL
SLACK_CHANNEL
CWE - Time to ask questions
CWE - Time to ask questions
CWE time to send report

CWE time to send report<br><br>
Direct Message
Open dialog
Open dialog
Skip
Skip
block_actions
standup.action.open_dialog
block_actions<br><span>standup.action.open_dialog</span>
dialog_submissions
standup.action.answers
dialog_submissions<br>standup.action.answers<br>
Amazon API Gateway
Amazon API Gateway
HTTP
POST 
block_actions
[Not supported by viewer]
HTTP POST dialog_submission
HTTP POST dialog_submission
Submit (dialog)
Submit (dialog)
Amazon DynamoDB
Amazon DynamoDB
post answers
post answers
Amazon DynamoDB
Amazon DynamoDB
QUESTIONS dialogquestion1question2question3

You can also look at the schema via draw.io

Users will interact with our app via Slack.

  1. User receives a menu into direct message (private message)

    menu
  2. Click on Open Dialog button opens a dialog with questions

    dialog
  3. Application notifies user when dialog is successfully sent

    dialog
  4. Send a report after a given time

    report