Coder Social home page Coder Social logo

scat's Introduction

Slack Community Analysis Tool (SCAT)

Build Status Maintainability codecov

As the name suggests, Slack Community Analysis Tool performs log analysis of Slack channels. The analysis is carried over 3 broad catergories: channel, network and users. Along with library with public API access, the tool offers a webapp front-end with visualisations which eases the process of understanding and gaining insights from the results.

SCAT will be useful to users of slack channels in three distinct ways. The first use is the ego-centric view of a participant’s activities on the slack channel. A summary of conversations and community interactions undertaken by the user shall be presented to the user. The second use is the summary of community interests and groups that exist on one or more slack channels. The third use is to help a new user to the community get familiar with channel characteristics quickly, for example, identifying the experts to direct questions to and knowing the time periods and days when he is more likely to get a response. SCAT will be equally useful to an expert user as he can analyze the channels statistically and understand the community along with the hierarchy if any.

Contributing

Kindly understand the Contributing Guidelines and the WikiPage. Also adhere to issue and PR templates, making sure to fill them completely before submitting.

scat's People

Contributors

achyudh avatar hrishikesh-dahiya avatar rohangoel96 avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

scat's Issues

Query Answered by Expert?

User Story Details
As a new member of the Slack channel, I want to know whether my query is answered by an expert or not, so that I can get to know the degree of accuracy of the response.

Acceptance Criteria

Definition of Done

Social Network Construction

Option select between multiple methods of constructing a social network.

The tentative methods to use for the construction of social networks are: mention graph, presence graph, mention graph with decaying edges, multi-layer graph with data from multiple teams of a channel.

Community clustering of members

User Story Details
As an experienced member of a Slack team, I want to see the community clustering of members in the channel so that I can understand the evolution of these communities over time.

Acceptance Criteria

Definition of Done

Modifications to codebase

Modifications:

  1. Usage tutorial wiki page
  2. driver file with path import
  3. correct the data directory path in config.py

Social network metrics

As a user, I want to see multiple relevant social network metrics on the profile page of a member so that I understand the networked role of a Slack user in a Slack team.

Downloading logs from slackarchive.io

User Story Details

As a user, I want to download logs from slackarchive.io so that I can use it for the Social Network Analysis.

Acceptance Criteria

  • I am able to download logs from slackarchive.io

Definition of Done

  • Assumptions of User Story met
  • Project builds without errors
  • Unit tests written and passing
  • Feature is tested against acceptance criteria
  • Any configuration or build changes documented
  • Documentation updated
  • Peer Code Review performed

Networks metrics

User Story Details
As a user, I want to see relevant network metrics (centrality metric, clustering + modularity, vitality index of hubs and experts, Katz centrality, average 1-neighborhood size) of other members so that I can easily understand their activeness and participation in the team.

Acceptance Criteria

Definition of Done

Graph summarization filters

User Story Details
As an experienced member of a Slack team, I want to apply graph summarization filters on social networks so that I can focus on the sub-networks of interest.

Acceptance Criteria

Definition of Done

Display a shortlist of queries

User Story Details
As an experienced member of a Slack team, I want to be able to display a shortlist of queries from the pending queries asked by the others for better community experience of all the members in the group.

Acceptance Criteria

Definition of Done

SCAT as webapp

User Story Details
As a user, I want to interact with SCAT as a webapp so that I do not need to install SCAT at multiple locations.

Acceptance Criteria

Definition of Done

Summary of activity for most active participants

User Story Details
As a user, I want to see a display of the mentions network, so that I can see a summary of recent interactions between the most active participants

Acceptance Criteria

Definition of Done

Temporal statistical trends

User Story Details
As an experienced member of a Slack team, I want to know the temporal statistical trends in the channels, so that I can monitor their evolution.

Acceptance Criteria

Definition of Done

Channel Activity on Dashboard

User Story Details
As a user, I want a summary of the recent channel activity presented on a dashboard, so that I can quickly understand recent events rather than going through a long list of messages.

Acceptance Criteria

Definition of Done

Unattended Questions List

User Story Details
As an experienced member of a Slack team, I want a list of unattended to questions raised recently, so that I can help improve the community experience.

Acceptance Criteria

Definition of Done

Select Data Source

User Story Details
As a user, I want to select between Slack archives or the Slack API stream as data source so that an event-based /scenario-based analysis can be performed on the activity of a Slack channel.

Acceptance Criteria

  • I have an option to select between the two data sources
  • Analysis results are automatically updated when data source is changed.

Definition of Done

  • Assumptions of User Story met
  • Project builds without errors
  • Unit tests written and passing
  • Feature is tested against acceptance criteria
  • Any configuration or build changes documented
  • Documentation updated
  • Peer Code Review performed

Access Results via RESTful API

User Story Details
As an external developer, I want to access the network analysis results via a RESTful API, so that I can easily integrate the analysis results into third-party tools

Acceptance Criteria

  • Results available by via RESTful API
  • Results available in proper format
  • Results available in multiple formats to be integrated into different third-party tools

Definition of Done

  • Assumptions of User Story met
  • Project builds without errors
  • Unit tests written and passing
  • Feature is tested against acceptance criteria
  • Any configuration or build changes documented
  • Documentation updated
  • Peer Code Review performed

Download logs for a selected date range

User Story Details

As a user, I want to download channel logs for a selected date range so that ______________

Acceptance Criteria

  • I am able to download channel logs for selected date range

Definition of Done

  • Assumptions of User Story met
  • Project builds without errors
  • Unit tests written and passing
  • Feature is tested against acceptance criteria
  • Any configuration or build changes documented
  • Documentation updated
  • Peer Code Review performed

User Digest

Digest/Summary of other’s member’s activities and topic advertise which shall improve communication

Summary of recent activities and conversations

User Story Details
As an experienced member of a Slack team, I want to see a summary of my recent conversations and activity, so that I can respond quickly if necessary.

Acceptance Criteria

Definition of Done

Network analysis of a sub-community

User Story Details
As a user, I want to see network analysis of a sub-community so that I know their intra-community and inter-community interaction patterns.

Acceptance Criteria

Definition of Done

Network Analysis on Dashboard

User Story Details
As a user, I want the network analysis presented on an interactive dashboard, so that I can easily access and gain insights from the information.

Acceptance Criteria

Definition of Done

What time of day beneficial to post query

User Story Details
As a new member of the Slack channel, I want to know which time of the day should I post my queries, so that I have the maximum chances of getting a quality response.

Acceptance Criteria

Definition of Done

SCAT as WebApp

User Story Details
As a user, I want to interact with SCAT as a web app so that I do not need to install SCAT at multiple locations.

Acceptance Criteria

Definition of Done

Direct Questions to Experts

User Story Details
As a new member of the Slack channel, I want to identify topic experts to direct my questions, so that I receive quality response from experienced users.

Acceptance Criteria

Definition of Done

Egocentric network

User Story Details
As a user, I want to see egocentric network of members so that I know the list of their acquaintances.

Acceptance Criteria

Definition of Done

Download logs of multiple channels

User Story Details

As an experienced member of Slack team, I want to download logs of multiple channels of slackarchive.io for a given time period so that _____________________.

Acceptance Criteria

  • I have an option to choose between multiple channels in the logs.
  • Analysis results are automatically updated when different channels are chosen.

Definition of Done

  • Assumptions of User Story met
  • Project builds without errors
  • Unit tests are written and passing
  • Feature is tested against acceptance criteria
  • Any configuration or build changes documented
  • Documentation updated
  • Peer Code Review performed

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.