Skip to content

β˜€οΈ πŸ‘―β€β™€οΈ Build a praise slackbotΒ #179

@gregv

Description

@gregv

Slack Bot MVP Development

Project Overview

Develop a Slack bot that facilitates feedback, recognition, and tracking of team performance using commands, buttons, and reactions. The MVP will include features for sending and receiving praise, viewing history and stats, and displaying a public wall of praise.

Core Features for MVP

  1. Send and Receive Praise Messages
  2. Customize Messages and Emojis
  3. View Praise History and Stats
  4. Public Wall of Praise

Task Distribution

  • Engineer 1:

    • Set up the Slack app and bot.
    • Implement the /praise command and backend service.
    • Develop the settings interface for message customization.
  • Engineer 2:

    • Create the web dashboard for viewing praise history and stats.
    • Implement the public wall of praise web page.
    • Integrate the backend service with the dashboard and public page.

Detailed Requirements

1. Send and Receive Praise Messages

Description: Allow users to send and receive praise messages within Slack.

  • User Stories:
    • As a user, I want to send a praise message to a colleague using a Slack command.
    • As a user, I want to receive a praise message from a colleague.
  • Acceptance Criteria:
    • Users can type /praise to send praise. Then you select who to send praise to with a UI.
    • The praised user receives a notification with the praise message.
  • Implementation Steps:
    1. Set up a Slack app and bot user.
    2. Implement a Slack command /praise.
    3. Create a backend service to handle praise messages and store them in a database.

2. Customize Messages and Emojis

Description: Allow users to customize praise messages and emojis.

  • User Stories:
    • As a user, I want to customize the message format and emojis used in praise messages.
  • Acceptance Criteria:
    • Users can set their preferred message format and emojis via a simple interface.
  • Implementation Steps:
    1. Develop a settings interface for users to customize their messages and emojis.
    2. Store user preferences in the database.
    3. Apply user preferences when sending praise messages.

3. View Praise History and Stats

Description: Allow users to view the history and stats of praise messages.

  • User Stories:
    • As a user, I want to view my received praise messages and statistics.
    • As a manager, I want to view the praise history and stats of my team.
  • Acceptance Criteria:
    • Users can access a web dashboard to view their praise history.
    • Managers can view team praise stats.
  • Implementation Steps:
    1. Develop a web dashboard to display praise history and stats.
    2. Integrate the dashboard with the backend to fetch data.
    3. Implement role-based access control for managers.

4. Public Wall of Praise

Description: Display a public wall of praise on a web page.

  • User Stories:
    • As a user, I want to see a public wall of praise showcasing all praise messages.
  • Acceptance Criteria:
    • A web page displays a real-time feed of praise messages.
  • Implementation Steps:
    1. Create a public web page.
    2. Integrate the page with the backend to fetch and display praise messages in real-time.

Additional Guidelines

  • Security & Privacy:
    • Ensure compliance with Slack's security and data protection standards.
    • Implement user authentication and authorization.
  • Performance & Scalability:
    • Use a scalable database to store messages and user data.
    • Optimize the backend for performance to handle multiple requests simultaneously.
  • User Experience:
    • Design a simple and intuitive user interface.
    • Ensure the bot works seamlessly with Slack's native features and commands.

Tools and Technologies

Metadata

Metadata

Labels

P0Highest Priority Project

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions