diff --git a/Projects/Pomodoro-Clock.md b/Projects/Pomodoro-Clock.md index 2b658cd6..d81cdab3 100644 --- a/Projects/Pomodoro-Clock.md +++ b/Projects/Pomodoro-Clock.md @@ -10,9 +10,9 @@ The Pomodoro Technique is a time management method developed by Francesco Cirill ## Bonus features +- [ ] User can hear a sound playing when the timer hits `00:00` - denoting that the session has ended - [ ] User can change / customize the minutes in both sessions before starting -- [ ] User can hear a sound playing when the timer hits `00:00` -- etc... +- [ ] User can set a **long break** session of 10 minutes. This will be activated every 4th **break** session ## Useful links and resources diff --git a/Projects/Slack-Archiver.md b/Projects/Slack-Archiver.md new file mode 100644 index 00000000..5f450b74 --- /dev/null +++ b/Projects/Slack-Archiver.md @@ -0,0 +1,48 @@ +# Application Name + +Slack is a tool many teams rely on for collaboration not only between +developers, but also between developers and their users. It's especially +attractive to Open Source Software (OSS) teams since it supports a highly +functional free tier. + +One problem is the free tier is limited to a maximum of 10K messages. When +this limit is reached older messages become unavailable since they are +purged. This is very impactful to active Slack teams and communities since +older messages quite often hold a great deal of "institutional knowledge" +that's lost when the message limit is reached. + +The Slack Archiver seeks to remedy this situation by extracting the history +for specific channels to an database or file. Messges could be extracted up to +the maximum allowed limit of 50 messages per minute for the `channels.history` +API method. At this rate (tier 4) 86.4K messages could be theorectically +retrieved per day. + +Implementors are cautioned that further research will be required to +determine the best extraction method to use prior to attempting any +development of this application. + +## User Stories + +- [ ] Allow the user to specify the channels to be archived. This includes +both adding and removing channels from the list +- [ ] Only the owners of the Slack Team should be allowed to archive +messages +- [ ] For each channel to be archived periodically extract messages starting +from the last message retrieved in the last extract and write them to a database). +- [ ] Allow the user to copy and extracted channel to a file +- [ ] Archiving should be an automatic process. Unlike a Slack 'bot, no +manual intervention should be required to start or stop and archive operation. + +## Bonus features + +- [ ] Implememnt an API that allows an application to extract archived messages +from the archive database + +## Useful links and resources + +Details of the Slack API can be found [here](https://api.slack.com/). + +## Example projects + +For an example of a commercial archiving application for Slack see +[Chronicle](https://chingu-prework.slack.com/apps/A47KWM6Q4-chronicle) diff --git a/README.md b/README.md index 51ef8471..e0b67e07 100644 --- a/README.md +++ b/README.md @@ -29,18 +29,23 @@ Each project has the following **features**: | [Kudos Slackbot](./Projects/Kudos-Slackbot.md) | | [Markdown Table Generator](./Projects/Markdown-Table-Generator.md) | | [Pomodoro Clock](./Projects/Pomodoro-Clock.md) | +| [Slack Archiver](./Projects/Slack-Archiver.md) | | [String Art](./Projects/String-Art.md) | -### Contribution +## Contribution Any contributions are highly appreciated. :pray: You can contribute in two ways: 1. create an issue and tell us your idea :bulb:. Make sure you use the **new idea** label in this case; 2. fork the project and submit a PR. Before doing that, please make sure that you are reading and following the [Contribution Guide](./Contribution%20Guide.md); -### Spread the word! +### Examples -If the information from this repo was useful to you in any way, make sure you give it a star, this way others can find it and benefit too! Together we can grow and make our community better! :smiley: +You can also add your own examples to the projects after you have completed them. I highly encourage you to do this as it will show others what amazing things you have built! 👍 + +## Spread the word! + +If the information from this repo was useful to you in any way, make sure you give it a star 🌟, this way others can find it and benefit too! Together we can grow and make our community better! :smiley: Do you have any suggestions on how we could improve this project overall? Let me know! I'd love to hear your feedback!