Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

☀️ 👯‍♀️ Build a praise slackbot #179

Open
gregv opened this issue Jun 30, 2024 · 5 comments
Open

☀️ 👯‍♀️ Build a praise slackbot #179

gregv opened this issue Jun 30, 2024 · 5 comments
Assignees
Labels
P0 Highest Priority Project

Comments

@gregv
Copy link
Contributor

gregv commented Jun 30, 2024

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

@gregv gregv added the P0 Highest Priority Project label Jun 30, 2024
@gregv
Copy link
Contributor Author

gregv commented Jul 18, 2024

Adding a note that @AndrewHUNGNguyen is working on this - in the early stages

@AndrewHUNGNguyen
Copy link

@gregv @Aseem70 has spoken with me about the slackbot project and he expressed his interest to helping me out with the slackbot on the frontend side. Added him as one of the assignees to this ticket

@gregv
Copy link
Contributor Author

gregv commented Aug 23, 2024

Exciting times!! @AndrewHUNGNguyen @Aseem70

@gregv
Copy link
Contributor Author

gregv commented Aug 23, 2024

Working like this
image

@gregv
Copy link
Contributor Author

gregv commented Aug 23, 2024

Removed the need to add parameters for /praise command, using just this slash command to open the UI is great - no need to have arguments

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
P0 Highest Priority Project
Projects
None yet
Development

No branches or pull requests

3 participants