2019-08-14 09:48:44 +00:00
|
|
|
source 'https://rubygems.org'
|
|
|
|
|
2022-05-27 12:03:24 +00:00
|
|
|
ruby '3.0.4'
|
2019-08-19 08:19:57 +00:00
|
|
|
|
2019-10-16 22:18:48 +00:00
|
|
|
##-- base gems for rails --##
|
|
|
|
gem 'rack-cors', require: 'rack/cors'
|
2022-07-15 02:51:59 +00:00
|
|
|
gem 'rails', '~>6.1'
|
2019-10-16 22:18:48 +00:00
|
|
|
# Reduces boot times through caching; required in config/boot.rb
|
|
|
|
gem 'bootsnap', require: false
|
|
|
|
|
2020-08-06 09:51:06 +00:00
|
|
|
##-- rails application helper gems --##
|
2019-11-25 18:25:18 +00:00
|
|
|
gem 'acts-as-taggable-on'
|
2019-10-16 22:18:48 +00:00
|
|
|
gem 'attr_extras'
|
2019-11-16 09:18:38 +00:00
|
|
|
gem 'browser'
|
2019-09-04 04:38:21 +00:00
|
|
|
gem 'hashie'
|
2019-11-25 18:25:18 +00:00
|
|
|
gem 'jbuilder'
|
2019-08-14 09:48:44 +00:00
|
|
|
gem 'kaminari'
|
2019-10-20 08:47:26 +00:00
|
|
|
gem 'responders'
|
2020-02-14 17:49:17 +00:00
|
|
|
gem 'rest-client'
|
2020-04-29 20:11:13 +00:00
|
|
|
gem 'telephone_number'
|
2019-10-16 22:18:48 +00:00
|
|
|
gem 'time_diff'
|
2019-11-25 18:25:18 +00:00
|
|
|
gem 'tzinfo-data'
|
2019-10-20 08:47:26 +00:00
|
|
|
gem 'valid_email2'
|
2019-12-10 04:59:35 +00:00
|
|
|
# compress javascript config.assets.js_compressor
|
|
|
|
gem 'uglifier'
|
2020-08-06 09:51:06 +00:00
|
|
|
##-- used for single column multiple binary flags in notification settings/feature flagging --##
|
|
|
|
gem 'flag_shih_tzu'
|
|
|
|
# Random name generator for user names
|
|
|
|
gem 'haikunator'
|
2021-01-28 05:09:37 +00:00
|
|
|
# Template parsing safely
|
2020-08-06 09:51:06 +00:00
|
|
|
gem 'liquid'
|
2021-01-18 06:13:31 +00:00
|
|
|
# Parse Markdown to HTML
|
2021-02-05 05:54:18 +00:00
|
|
|
gem 'commonmarker'
|
2021-05-17 05:02:59 +00:00
|
|
|
# Validate Data against JSON Schema
|
|
|
|
gem 'json_schemer'
|
2021-07-27 15:57:23 +00:00
|
|
|
# Rack middleware for blocking & throttling abusive requests
|
|
|
|
gem 'rack-attack'
|
2021-08-11 11:10:28 +00:00
|
|
|
# a utility tool for streaming, flexible and safe downloading of remote files
|
|
|
|
gem 'down', '~> 5.0'
|
2019-12-10 04:59:35 +00:00
|
|
|
|
|
|
|
##-- for active storage --##
|
2020-01-07 17:29:17 +00:00
|
|
|
gem 'aws-sdk-s3', require: false
|
2020-04-05 16:41:27 +00:00
|
|
|
gem 'azure-storage-blob', require: false
|
2020-01-07 17:29:17 +00:00
|
|
|
gem 'google-cloud-storage', require: false
|
2022-03-21 07:42:27 +00:00
|
|
|
gem 'image_processing', '~> 1.12.2'
|
2019-10-16 22:18:48 +00:00
|
|
|
|
|
|
|
##-- gems for database --#
|
2020-03-18 11:23:35 +00:00
|
|
|
gem 'groupdate'
|
2019-09-04 04:38:21 +00:00
|
|
|
gem 'pg'
|
|
|
|
gem 'redis'
|
2019-08-14 09:48:44 +00:00
|
|
|
gem 'redis-namespace'
|
2021-02-03 13:54:51 +00:00
|
|
|
# super fast record imports in bulk
|
|
|
|
gem 'activerecord-import'
|
2019-10-16 19:32:42 +00:00
|
|
|
|
2019-10-16 22:18:48 +00:00
|
|
|
##--- gems for server & infra configuration ---##
|
2019-11-23 19:57:39 +00:00
|
|
|
gem 'dotenv-rails'
|
2019-10-20 08:47:26 +00:00
|
|
|
gem 'foreman'
|
2019-11-25 18:25:18 +00:00
|
|
|
gem 'puma'
|
2020-08-22 16:48:50 +00:00
|
|
|
gem 'webpacker', '~> 5.x'
|
2020-09-03 09:54:08 +00:00
|
|
|
# metrics on heroku
|
|
|
|
gem 'barnes'
|
2019-10-16 22:18:48 +00:00
|
|
|
|
|
|
|
##--- gems for authentication & authorization ---##
|
2019-11-25 18:25:18 +00:00
|
|
|
gem 'devise'
|
2021-09-13 07:45:05 +00:00
|
|
|
gem 'devise-secure_password', '~> 2.0', git: 'https://github.com/chatwoot/devise-secure_password'
|
2019-11-25 18:25:18 +00:00
|
|
|
gem 'devise_token_auth'
|
2019-10-16 22:18:48 +00:00
|
|
|
# authorization
|
2019-10-30 05:13:11 +00:00
|
|
|
gem 'jwt'
|
2019-10-16 22:18:48 +00:00
|
|
|
gem 'pundit'
|
2020-05-11 17:37:22 +00:00
|
|
|
# super admin
|
|
|
|
gem 'administrate'
|
2019-10-16 22:18:48 +00:00
|
|
|
|
|
|
|
##--- gems for pubsub service ---##
|
2019-12-10 04:59:35 +00:00
|
|
|
# https://karolgalanciak.com/blog/2019/11/30/from-activerecord-callbacks-to-publish-slash-subscribe-pattern-and-event-driven-design/
|
2019-10-16 22:18:48 +00:00
|
|
|
gem 'wisper', '2.0.0'
|
|
|
|
|
|
|
|
##--- gems for channels ---##
|
2020-09-08 05:54:08 +00:00
|
|
|
# TODO: bump up gem to 2.0
|
2021-06-07 08:28:01 +00:00
|
|
|
gem 'facebook-messenger'
|
2021-09-10 20:01:17 +00:00
|
|
|
gem 'line-bot-api'
|
2022-07-08 12:50:07 +00:00
|
|
|
gem 'twilio-ruby', '~> 5.66'
|
2020-02-02 19:09:00 +00:00
|
|
|
# twitty will handle subscription of twitter account events
|
2020-05-14 17:21:07 +00:00
|
|
|
# gem 'twitty', git: 'https://github.com/chatwoot/twitty'
|
|
|
|
gem 'twitty'
|
2019-10-16 22:18:48 +00:00
|
|
|
# facebook client
|
|
|
|
gem 'koala'
|
2020-06-12 17:42:47 +00:00
|
|
|
# slack client
|
|
|
|
gem 'slack-ruby-client'
|
2021-05-05 15:36:11 +00:00
|
|
|
# for dialogflow integrations
|
|
|
|
gem 'google-cloud-dialogflow'
|
2019-10-16 22:18:48 +00:00
|
|
|
|
2021-08-24 19:34:29 +00:00
|
|
|
##-- apm and error monitoring ---#
|
2021-08-03 14:41:52 +00:00
|
|
|
gem 'ddtrace'
|
2022-07-22 09:39:37 +00:00
|
|
|
gem 'elastic-apm'
|
2021-08-24 19:34:29 +00:00
|
|
|
gem 'newrelic_rpm'
|
2020-02-14 22:52:37 +00:00
|
|
|
gem 'scout_apm'
|
2022-05-09 08:53:19 +00:00
|
|
|
gem 'sentry-rails', '~> 5.3'
|
|
|
|
gem 'sentry-ruby', '~> 5.3'
|
|
|
|
gem 'sentry-sidekiq', '~> 5.3'
|
2019-10-16 22:18:48 +00:00
|
|
|
|
2020-01-07 17:29:17 +00:00
|
|
|
##-- background job processing --##
|
2022-01-31 08:06:44 +00:00
|
|
|
gem 'sidekiq', '~> 6.4.0'
|
2021-01-11 12:04:41 +00:00
|
|
|
# We want cron jobs
|
2022-04-28 19:13:10 +00:00
|
|
|
gem 'sidekiq-cron', '~> 1.3'
|
2019-10-16 22:18:48 +00:00
|
|
|
|
2020-05-05 18:40:56 +00:00
|
|
|
##-- Push notification service --##
|
2020-06-04 18:45:50 +00:00
|
|
|
gem 'fcm'
|
2020-05-05 18:40:56 +00:00
|
|
|
gem 'webpush'
|
|
|
|
|
2020-10-27 20:44:36 +00:00
|
|
|
##-- geocoding / parse location from ip --##
|
|
|
|
# http://www.rubygeocoder.com/
|
|
|
|
gem 'geocoder'
|
|
|
|
# to parse maxmind db
|
|
|
|
gem 'maxminddb'
|
|
|
|
|
2021-01-05 14:37:04 +00:00
|
|
|
# to create db triggers
|
|
|
|
gem 'hairtrigger'
|
|
|
|
|
2021-05-13 08:02:19 +00:00
|
|
|
gem 'procore-sift'
|
|
|
|
|
2021-12-22 12:46:40 +00:00
|
|
|
# parse email
|
|
|
|
gem 'email_reply_trimmer'
|
|
|
|
gem 'html2text'
|
|
|
|
|
2022-04-08 07:18:18 +00:00
|
|
|
# to calculate working hours
|
|
|
|
gem 'working_hours'
|
|
|
|
|
2022-06-13 10:26:49 +00:00
|
|
|
# full text search for articles
|
|
|
|
gem 'pg_search'
|
|
|
|
|
2022-07-18 19:03:06 +00:00
|
|
|
# Subscriptions, Billing
|
|
|
|
gem 'stripe'
|
|
|
|
|
2022-09-01 15:53:57 +00:00
|
|
|
## - helper gems --##
|
|
|
|
## to populate db with sample data
|
|
|
|
gem 'faker'
|
|
|
|
|
2021-09-22 05:16:48 +00:00
|
|
|
group :production, :staging do
|
|
|
|
# we dont want request timing out in development while using byebug
|
|
|
|
gem 'rack-timeout'
|
|
|
|
end
|
|
|
|
|
2019-08-25 14:29:28 +00:00
|
|
|
group :development do
|
2019-11-30 13:39:55 +00:00
|
|
|
gem 'annotate'
|
2019-11-25 18:25:18 +00:00
|
|
|
gem 'bullet'
|
2019-08-25 14:29:28 +00:00
|
|
|
gem 'letter_opener'
|
2019-09-04 04:38:21 +00:00
|
|
|
gem 'web-console'
|
2020-02-23 07:24:29 +00:00
|
|
|
|
|
|
|
# used in swagger build
|
2021-08-03 14:41:52 +00:00
|
|
|
gem 'json_refs'
|
2020-09-07 09:49:41 +00:00
|
|
|
|
|
|
|
# When we want to squash migrations
|
|
|
|
gem 'squasher'
|
2019-08-25 14:29:28 +00:00
|
|
|
end
|
|
|
|
|
2020-07-21 14:41:22 +00:00
|
|
|
group :test do
|
|
|
|
# Cypress in rails.
|
|
|
|
gem 'cypress-on-rails', '~> 1.0'
|
|
|
|
# fast cleaning of database
|
|
|
|
gem 'database_cleaner'
|
2021-11-11 07:33:48 +00:00
|
|
|
# mock http calls
|
|
|
|
gem 'webmock'
|
2020-07-21 14:41:22 +00:00
|
|
|
end
|
|
|
|
|
2019-08-14 09:48:44 +00:00
|
|
|
group :development, :test do
|
2021-08-03 14:41:52 +00:00
|
|
|
gem 'active_record_query_trace'
|
2022-07-15 02:51:59 +00:00
|
|
|
##--- gems for debugging and error reporting ---##
|
|
|
|
# static analysis
|
|
|
|
gem 'brakeman'
|
2019-11-22 07:23:57 +00:00
|
|
|
gem 'bundle-audit', require: false
|
2019-08-14 09:48:44 +00:00
|
|
|
gem 'byebug', platform: :mri
|
2021-10-25 07:43:25 +00:00
|
|
|
gem 'climate_control'
|
2019-09-04 04:38:21 +00:00
|
|
|
gem 'factory_bot_rails'
|
2019-08-19 08:19:57 +00:00
|
|
|
gem 'listen'
|
2021-08-03 14:41:52 +00:00
|
|
|
gem 'mock_redis'
|
2019-10-12 18:08:41 +00:00
|
|
|
gem 'pry-rails'
|
2021-08-03 14:41:52 +00:00
|
|
|
gem 'rspec-rails', '~> 5.0.0'
|
2019-11-25 18:25:18 +00:00
|
|
|
gem 'rubocop', require: false
|
2019-10-23 18:26:48 +00:00
|
|
|
gem 'rubocop-performance', require: false
|
|
|
|
gem 'rubocop-rails', require: false
|
|
|
|
gem 'rubocop-rspec', require: false
|
2019-09-04 04:38:21 +00:00
|
|
|
gem 'seed_dump'
|
2019-12-22 17:23:18 +00:00
|
|
|
gem 'shoulda-matchers'
|
2020-02-03 08:44:03 +00:00
|
|
|
gem 'simplecov', '0.17.1', require: false
|
2019-08-14 09:48:44 +00:00
|
|
|
gem 'spring'
|
2019-08-19 08:19:57 +00:00
|
|
|
gem 'spring-watcher-listen'
|
2019-10-20 08:47:26 +00:00
|
|
|
end
|