Mirror importado do GitHub: https://github.com/Rodribm10/iachat
Go to file
Shivam Mishra c88792f4a3
feat: add Conversation traffic heatmap (#6508)
* feat: add heatmap component

* feat: add heatmap component

* feat: add dummy heatmap

* refactor: compact tiles

* feat: allow hour

* feat: wire up heatmap query

* feat: allow arbritrary number of weeks

* feat: update position of the widget

* chore: update heatmap title

* refactor: move traffic heatmap to overview

* chore: add comment for perf

* feat: add reconcile logic for heatmap fetching

Fetching the data for the last 6 days all the time is wasteful
So we fetch only the data for today and reconcile it with the data we already have

* refactor: re-org code for new utils

* feat: add translations

* feat: translate days of the week

* chore: update chatwoot utils

* feat: add markers to heatmap

* refactor: update class names

* refactor: move flatten as a separate method

* test: Heatmap Helpers

* chore: add comments

* refactor: method naming

* refactor: use heatmap-level mixin

* refactor: cleanup css

* chore: remove log

* refactor: reports.js to use object instead of separate params

* refactor: report store to use new API design

* refactor: rename HeatmapHelper -> ReportsDataHelper

* refactor: separate clampDataBetweenTimeline

* feat: add tests

* fix: group by hour

* feat: add scroll for smaller screens

* refactor: add base data to reconcile with

* fix: tests

* fix: overflow only on smaller screens

* feat: translate tooltip

* refactor: simplify reconcile

* chore: add docs

* chore: remoev heatmap from account report

* feat: let Heatmap handle loading state

* chore: Apply suggestions from code review

Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com>

* feat: update css

* refactor: color assignment to range

* feat: add short circuit

* Update app/javascript/dashboard/routes/dashboard/settings/reports/components/Heatmap.vue

---------

Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com>
Co-authored-by: Nithin David Thomas <1277421+nithindavid@users.noreply.github.com>
Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com>
2023-03-07 09:01:58 +05:30
__mocks__ Feature: Agent Profile Update with avatar (#449) 2020-02-16 17:20:38 +05:30
.circleci swagger: fixed invalid specification (#5485) 2023-02-16 17:47:26 +05:30
.dependabot Add Dependabot config (#217) 2019-11-25 09:48:11 +05:30
.devcontainer chore: Bumped Ruby version on codespace image to 3.1.3 (#6490) 2023-02-21 17:05:46 +05:30
.github chore: upload log artifact in nightly gh action (#6513) 2023-02-28 12:18:06 +05:30
.husky chore: add --force-exclusion option (#6535) 2023-02-24 17:15:11 +05:30
.storybook feat: Header for help-center pages (#4987) 2022-07-08 21:19:19 +05:30
.vscode feat: Add the option for consent form (#6511) 2023-02-28 13:57:05 +05:30
app feat: add Conversation traffic heatmap (#6508) 2023-03-07 09:01:58 +05:30
bin feat: IP lookup (#1315) 2020-10-28 02:14:36 +05:30
clevercloud feat: Add support for Clever cloud deployments (#1703) 2021-01-29 17:08:40 +05:30
config chore: Fix the comment in schedule.yml (#6606) 2023-03-03 10:22:25 -08:00
db fix: migration script to run on all reporting events (#6590) 2023-03-02 19:03:31 +05:30
deployment chore: upgrade ruby to 3.1.3 (#5555) 2023-01-24 23:55:07 +05:30
docker chore: upgrade ruby to 3.1.3 (#5555) 2023-01-24 23:55:07 +05:30
enterprise feat: Audit log APIs (#6434) 2023-03-01 20:02:58 +05:30
lib Exception tracker with account (#6603) 2023-03-03 12:14:44 +05:30
log Initial Commit 2019-08-14 15:18:44 +05:30
public feat: Google OAuth for login & signup (#6346) 2023-02-16 11:12:02 +05:30
spec Fallback name branch (#6591) 2023-03-03 12:26:59 +05:30
stories/Sections chore: Refactor button styles (#2259) 2021-05-20 13:51:46 +05:30
swagger Update contact create swagger (#6576) 2023-03-01 20:24:21 +05:30
tmp Initial Commit 2019-08-14 15:18:44 +05:30
vendor feat: IP lookup (#1315) 2020-10-28 02:14:36 +05:30
.all-contributorsrc [docs] Move contributors section to docs (#120) 2019-10-06 09:23:24 +05:30
.browserslistrc Initial Commit 2019-08-14 15:18:44 +05:30
.bundler-audit.yml chore: mitigate CVE-2021-41098 (#3101) 2021-09-28 19:34:11 +05:30
.codeclimate.yml feat: Macros listing and Editor (#5606) 2022-10-19 17:13:13 -07:00
.dockerignore chore: fix docker public assets issue #6341 2023-02-03 18:45:35 +05:30
.editorconfig fix: Update .editorconfig to fix spaces and indent_style (#5612) 2022-10-12 14:00:42 -07:00
.env.example feat: Integrate LogRocket (#6494) 2023-02-21 08:42:45 +05:30
.eslintrc.js feat: Header for help-center pages (#4987) 2022-07-08 21:19:19 +05:30
.gitignore feat: Google OAuth for login & signup (#6346) 2023-02-16 11:12:02 +05:30
.nvmrc fix: Broken Docker Builds (#2755) 2021-08-06 01:21:44 +05:30
.prettierrc chore: Execute campaigns based on matching URL (#2254) 2021-05-17 21:38:35 +05:30
.rspec Fix url in emails, add frontendURL helper (#19) 2019-08-25 19:59:28 +05:30
.rubocop_todo.yml feat: Google OAuth for login & signup (#6346) 2023-02-16 11:12:02 +05:30
.rubocop.yml chore: Add controllers for conversation participants (#6462) 2023-02-15 16:33:31 -08:00
.ruby-version chore: upgrade ruby to 3.1.3 (#5555) 2023-01-24 23:55:07 +05:30
.scss-lint.yml fix: Add a check for 24 hour window before sending a message (#1084) 2020-07-25 22:54:45 +05:30
app.json fix: update heroku app.json to use premium plans (#5349) 2022-12-05 21:15:44 +05:30
babel.config.js Chore: Upgrade babel packages (#736) 2020-04-17 18:49:14 +05:30
Capfile 🚨Fix Rubocop lint errors 2019-10-20 14:17:26 +05:30
CODE_OF_CONDUCT.md General updates and add CODEOWNERS (#3685) 2022-01-05 12:37:22 +05:30
config.ru Initial Commit 2019-08-14 15:18:44 +05:30
CONTRIBUTING.md General updates and add CODEOWNERS (#3685) 2022-01-05 12:37:22 +05:30
crowdin.yml chore: Add i18n survey transaltion in crowdin (#3496) 2021-12-01 18:25:22 +05:30
docker-compose.production.yaml fix: Limit rails, postgres and redis container access to localhost (#3354) 2021-11-11 14:43:25 +05:30
docker-compose.test.yaml Chore: modify docker-compose for prod and local setups (#1090) 2020-07-24 23:34:09 +05:30
docker-compose.yaml fix: pg pass printed by docker container (#1382) 2020-11-06 00:06:07 +05:30
Gemfile feat: Audit log APIs (#6434) 2023-03-01 20:02:58 +05:30
Gemfile.lock feat: Audit log APIs (#6434) 2023-03-01 20:02:58 +05:30
jest.config.js Added testcases for AddReminder Component (#5538) 2022-10-20 00:54:08 +05:30
jest.setup.js feat: Show date along with time in messages (#1748) 2021-02-11 12:10:08 +05:30
LICENSE chore: Introduce enterprise edition license (#3209) 2021-12-09 12:07:48 +05:30
package.json feat: add Conversation traffic heatmap (#6508) 2023-03-07 09:01:58 +05:30
postcss.config.js feat: Display reply time in widget (#1349) 2020-10-18 23:32:22 +05:30
Procfile chore: Fix db:prepare error in deployments (#1668) 2021-01-19 16:47:25 +05:30
Procfile.dev chore: Fix connection pool (#6005) 2023-01-16 17:50:23 +05:30
Procfile.test chore: Fix connection pool (#6005) 2023-01-16 17:50:23 +05:30
Rakefile Initial Commit 2019-08-14 15:18:44 +05:30
README.md 2022 -> 2023 2023-01-01 22:12:22 -08:00
SECURITY.md chore: Update security guidelines (#5382) 2022-09-02 16:59:38 +05:30
semantic.yml Chore: Update copy on Signup page (#1023) 2020-07-09 16:28:09 +05:30
tailwind.config.js fix: Add portal pack to tailwind config (#5686) 2022-10-19 21:49:34 -07:00
VERSION_CW feat: abort cwctl upgrade if custom code changes detected (#5329) 2022-08-23 18:56:39 +05:30
VERSION_CWCTL feat: add -I option to cwctl and modify -i option (#5045) 2022-07-15 16:17:52 +05:30
workbox-config.js [Feature] Add PWA support (#157) 2019-10-18 12:37:09 +05:30
yarn.lock feat: add Conversation traffic heatmap (#6508) 2023-03-07 09:01:58 +05:30

Woot-logo

Customer engagement suite, an open-source alternative to Intercom, Zendesk, Salesforce Service Cloud etc.

Deploy Deploy to DO


Maintainability CircleCI Badge Docker Pull Badge Docker Build Badge Commits-per-month Discord Huntr uptime response time Artifact HUB

Chat dashboard

Chatwoot is an open-source, self-hosted customer engagement suite. Chatwoot lets you view and manage your customer data, communicate with them irrespective of which medium they use, and re-engage them based on their profile.

Features

Chatwoot supports the following conversation channels:

  • Website: Talk to your customers using our live chat widget and make use of our SDK to identify a user and provide contextual support.
  • Facebook: Connect your Facebook pages and start replying to the direct messages to your page.
  • Instagram: Connect your Instagram profile and start replying to the direct messages.
  • Twitter: Connect your Twitter profiles and reply to direct messages or the tweets where you are mentioned.
  • Telegram: Connect your Telegram bot and reply to your customers right from a single dashboard.
  • WhatsApp: Connect your WhatsApp business account and manage the conversation in Chatwoot.
  • Line: Connect your Line account and manage the conversations in Chatwoot.
  • SMS: Connect your Twilio SMS account and reply to the SMS queries in Chatwoot.
  • API Channel: Build custom communication channels using our API channel.
  • Email: Forward all your email queries to Chatwoot and view it in our integrated dashboard.

And more.

Other features include:

  • CRM: Save all your customer information right inside Chatwoot, use contact notes to log emails, phone calls, or meeting notes.
  • Custom Attributes: Define custom attribute attributes to store information about a contact or a conversation and extend the product to match your workflow.
  • Shared multi-brand inboxes: Manage multiple brands or pages using a shared inbox.
  • Private notes: Use @mentions and private notes to communicate internally about a conversation.
  • Canned responses (Saved replies): Improve the response rate by adding saved replies for frequently asked questions.
  • Conversation Labels: Use conversation labels to create custom workflows.
  • Auto assignment: Chatwoot intelligently assigns a ticket to the agents who have access to the inbox depending on their availability and load.
  • Conversation continuity: If the user has provided an email address through the chat widget, Chatwoot will send an email to the customer under the agent name so that the user can continue the conversation over the email.
  • Multi-lingual support: Chatwoot supports 10+ languages.
  • Powerful API & Webhooks: Extend the capability of the software using Chatwoots webhooks and APIs.
  • Integrations: Chatwoot natively integrates with Slack right now. Manage your conversations in Slack without logging into the dashboard.

Documentation

Detailed documentation is available at chatwoot.com/help-center.

Translation process

The translation process for Chatwoot web and mobile app is managed at https://translate.chatwoot.com using Crowdin. Please read the translation guide for contributing to Chatwoot.

Branching model

We use the git-flow branching model. The base branch is develop. If you are looking for a stable version, please use the master or tags labelled as v1.x.x.

Deployment

Heroku one-click deploy

Deploying Chatwoot to Heroku is a breeze. It's as simple as clicking this button:

Deploy

Follow this link to understand setting the correct environment variables for the app to work with all the features. There might be breakages if you do not set the relevant environment variables.

DigitalOcean 1-Click Kubernetes deployment

Chatwoot now supports 1-Click deployment to DigitalOcean as a kubernetes app.

Deploy to DO

Other deployment options

For other supported options, checkout our deployment page.

Security

Looking to report a vulnerability? Please refer our SECURITY.md file.

Community? Questions? Support ?

If you need help or just want to hang out, come, say hi on our Discord server.

Contributors

Thanks goes to all these wonderful people:

Chatwoot © 2017-2023, Chatwoot Inc - Released under the MIT License.