Skip to content

GSoC Idea: Posts timed reminders #164

@agarciamontoro

Description

@agarciamontoro

Summary

  • Project Outcome: Publish a plugin that manage timed reminders on posts that should be read later.
  • Project Size: 175 hours
  • Difficulty: Medium
  • Mentors:

Description

It's usual that we read an interesting message but don't have time to process it at the moment. Some of us use the Mark as unread feature or the TODO plugin for this, but it would be very valuable to have a feature that reminds us of that specific message in some time, generating a new notification in 30 minutes, one hour, or the next day.

This project is focused around that specific feature, and the goal is to build a new plugin that adds a new entry to the post menu for selecting a time at which the user will be reminded of that specific message. The community has already started development on this, but it was never finished, so this is an opportunity to bring back that work and take it to the finish line, better defining its scope and usability on the process.

Project Goals

The key deliverable will be a GitHub repository that includes the code for the plugin and documentation for how to install, configure, and use it. This repository can be permanently hosted on the contributors profile or on the Mattermost GitHub organization depending on the contributor’s preferences. If time permits, a stretch goal will be to include the plugin in the official Mattermost integrations marketplace to make it available by default on all Mattermost instances.

Your solution should include the following capabilities:

  • Snooze a post until later
    • Define an absolute or a relative time
    • Optionally hide the message until the reminder triggers
  • Manage a queue of snoozed messages
    • See all messages that were postponed
    • Modify the reminder timer on each of those messages
    • Remove them from the queue, manually marking them as read

Optional features that can be added as a stretch goal include:

  • Using the new scheduling system but applying it to sent messages
    • Manually defer sending a message by some amount of time
    • Automatically defer sending a message until the recipient is online
    • Use a rules-base system to schedule messages

Required Skills

  • React / Redux in Typescript
  • Go
  • SQL
  • REST

Metadata

Metadata

Assignees

No one assigned

    Labels

    GSoCProject idea for Google Summer of CodeGSoC/Difficulty: MediumMedium project ideas for Google Summer of CodeGSoC/Size: 175 hoursMedium-sized project ideas for Google Summer of Code (~175 hours)

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions