-
Notifications
You must be signed in to change notification settings - Fork 0
Description
Summary
- Project Outcome: Publish a plugin that manage timed reminders on posts that should be read later.
- Project Size: 175 hours
- Difficulty: Medium
- Mentors:
- Alejandro García Montoro (@agarciamontoro in Github, @alejandro.garcia in Mattermost)
- Eric Sethna - Product Manager (@esethna in Github, @eric.sethna in Mattermost)
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