Giter VIP home page Giter VIP logo

slack-archive's Introduction

slack archive

A local tool to bring slack exports to life - again.

getting started

First, you'll need to get an export of your Slack workspace. Instructions for that can be found here.

With that export in hand, you'll need to copy all of the files within it under public/data/. This will be where the backend of this app expects to see all of the data regarding your workspace.

To clarify; if your slack export is in a folder named slack-export, then you'll want to put the files under it into public/data, not the folder itself.

Finally, run the development server:

npx install
npx run dev

With that, you should see the app running and displaying information about your workspace!

slack-archive's People

Contributors

scottchow-rl avatar scottpchow23 avatar

Watchers

 avatar  avatar

Forkers

brownfield-team

slack-archive's Issues

Workspace-wide statistics

Pretty straight forward: bring all statistics available on individual slack channels to the entire workspace.

Acceptance Criteria:

  • New dropdown for keyword search on the homepage that does everything required
  • New dropdown for user message contribution stats across the workplace

Add message chord chart

In order to better identify communication patterns in teams, we should have a chord chart.

Dev Notes:

This might be harder than it looks because the only react component that is out there that makes chord charts is not currently compatible with nextjs for this reason here.

Some user names are not resolved from slack ids

When I see a channel join, bot message, or one user tagging another, I see slack ids instead of human-readable names.

For example, instead of this:

UAAAAAA: <@UAAAAAA> has joined the channel

I'd prefer to see

Matthew Mercer: Matthew Mercer has joined the channel

Acceptance Criteria:

  • Bot messages have their sending name resolved
  • User channel joins have their sending name resolved
  • User tags in messages have their names resolved

Make links in user messages clickable

Currently, if a link appears in a message it is unclickable.

Note: this feature might be more difficult to implement than first lets on; the primary issue is that React really doesn't like rendering text as HTML. This will most likely require rearchitecting message resolution to return actual React/HTML elements instead of the message objects like it does right now.

Acceptance criteria:

  • Any link that appears in a user message should be made clickable (note that the actual link may or may not work, but that is out of scope)

Message search functionality

I'd like the ability to search messages on a channel for one or more keywords (potentially regex?). I'd then also like the ability to plot those messages with the keywords on a histogram in order to see their occurrence rate/when they occurred based on timestamp.

Acceptance Criteria:

  • There is a search bar on the channel-specific page
  • The search bar will accept a string to search for in message texts
  • Upon searching, the set of messages found with the keyword will be mapped onto a histogram, plotted by their timestamp

User message contribution graph

I'd like to be able to see

  • the total amount of messages sent by users in the channel
  • how those messages divvy up among the users in said channel

Acceptance Criteria:

  • There is a user message total displayed somewhere on the channel page
  • There is a pie graph that shows the ratio of messages sent by each member of the channel
  • Bonus: plot that ratio over time (kind of like a split bar graph over time intervals) Not really all that useful given the highly sporadic nature of user messages.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.