Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/srid/taut
An ambitious Slack JSON export viewer.
https://github.com/srid/taut
haskell obelisk reflex reflex-frp slack
Last synced: 3 months ago
JSON representation
An ambitious Slack JSON export viewer.
- Host: GitHub
- URL: https://github.com/srid/taut
- Owner: srid
- License: other
- Created: 2018-03-03T15:08:01.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2020-09-18T22:19:52.000Z (over 4 years ago)
- Last Synced: 2024-10-11T23:49:38.998Z (4 months ago)
- Topics: haskell, obelisk, reflex, reflex-frp, slack
- Language: Haskell
- Homepage:
- Size: 1.14 MB
- Stars: 24
- Watchers: 4
- Forks: 1
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: ChangeLog.md
- License: LICENSE
Awesome Lists containing this project
README
# Taut
An ambitious [Slack export
data](https://get.slack.help/hc/en-us/articles/201658943-Export-your-workspace-data)
viewer written in Haskell.Taut was used to access and search over 50,000 messages in a Slack community I helped manage (we have migrated to Zulip), and is now ready for general use.
## Features
- Read directly from the Slack export data zip archive
- Access _all_ messages, and search them as you would on Slack.
- Every message comes with its own permalink
- Only accessible to the organization's members (uses Slack's login)## Running locally
1. Install [obelisk](https://github.com/obsidiansystems/obelisk)
1. Set`config/backend/slackExportPath` to where you downloaded your Slack export
zip.
1. Run `ob run` and visit http://127.0.0.1:8000## Running production app
To deploy the app either locally or elsewhere follow these instructions. In
future we could automate all of this using Nix. Alternatively, if the machine
you are deploying to is reserved _exclusively_ for running Taut, you may use
[`ob deploy`](https://github.com/obsidiansystems/obelisk#deploying).```bash
# Create a directory to hold deployment configuration.
mkdir -p deploy/prod
cp -r config deploy/prod/# Create a Slack OAuth app, and add its keys here:
pushd deploy/prod
echo "..." > config/backend/oauthClientID
echo "..." > config/backend/oauthClientSecret
# As a Slack admin download a copy of your Slack export data.
# It should be a zip file. Add its path here.
echo "..." > config/backend/slackExportPath
popd# When ready to create a new deployment:
# Do a full build of the app, and copy the binaries to deploy directory
nix-build -A exe # This creates ./result
rm -f deploy/prod/* # This would leave the "config" directory as is
cp -r result/* deploy/prod/# Run the app
./backend --port 9000# Visit http://localhost:9000 for profit!
```