-
Notifications
You must be signed in to change notification settings - Fork 114
/
Gemfile
185 lines (128 loc) · 4.8 KB
/
Gemfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
source "https://rubygems.org"
git_source(:github) { |repo| "https://github.com/#{repo}.git" }
ruby "3.3.0"
# Bundle edge Rails instead: gem "rails", github: "rails/rails", branch: "main"
gem "rails", "~> 7.2.1"
# Used to deploy to production
gem "kamal"
# Used for handling asset delivery
gem "propshaft"
# figaro to handle ENV variables for postgresql
gem "figaro"
# Use postgresql as the database for Active Record
gem "pg", "~> 1.5"
# Use the Puma web server [https://github.com/puma/puma]
gem "puma", "~> 6.4.3"
# Use JavaScript with ESM import maps [https://github.com/rails/importmap-rails]
gem "importmap-rails"
# Hotwire's SPA-like page accelerator [https://turbo.hotwired.dev]
gem "turbo-rails"
# Hotwire's modest JavaScript framework [https://stimulus.hotwired.dev]
gem "stimulus-rails"
# Build JSON APIs with ease [https://github.com/rails/jbuilder]
gem "jbuilder"
# Use Redis adapter to run Action Cable in production
# gem "redis", "~> 4.0"
# Use Kredis to get higher-level data types in Redis [https://github.com/rails/kredis]
# gem "kredis"
# Use Active Model has_secure_password [https://guides.rubyonrails.org/active_model_basics.html#securepassword]
# gem "bcrypt", "~> 3.1.7"
# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
gem "tzinfo-data", platforms: %i[mingw mswin x64_mingw jruby]
# Reduces boot times through caching; required in config/boot.rb
gem "bootsnap", require: false
# add bootstrap gem
gem "bootstrap"
# add bootstrap_form gem
gem "bootstrap_form", "~> 5.4"
# Devise Authentication
gem "devise"
gem "devise_invitable", "~> 2.0.9"
# Use Sass to process CSS
gem "dartsass-rails"
# Use Active Storage variants [https://guides.rubyonrails.org/active_storage_overview.html#transforming-images]
# gem "image_processing", "~> 1.2"
# Active storage validations
gem "active_storage_validations"
# Use Azure Blob Storage for Active Storage
gem "azure-storage-blob", "~> 2.0", require: false
# validate adopter phone numbers
gem "phonelib"
# a rake task that helps find dead routes and unused actions
gem "traceroute"
# facilitates multi-tenancy, allowing database records to be associated with organizations
gem "acts_as_tenant"
# needed for internationalization (translations)
gem "rails-i18n"
# Provides helper methods to easily add 'active' tag on links
gem "active_link_to"
# needed for pagination
gem "pagy"
# Adds location data for cities and states around the world
gem "city-state", "~> 1.1.0"
# Adds a simple way to fetch with Javascript
gem "requestjs-rails", "~> 0.0.12"
# Add ability to set user roles
gem "rolify"
# Add breadcrumb management
gem "gretel", "~> 5.0"
# Use ransack for searching and filtering records
gem "ransack"
gem "rails-controller-testing"
# Use Action Policy for authorization framework
gem "action_policy", "~> 0.7.1"
# Use ViewComponent for our presenter pattern framework
gem "view_component", "~> 3.20"
# Use dry-types for defining types
gem "dry-types", "~> 1.7"
# Use dry-initializer for defining params and options for instances
gem "dry-initializer", "~> 3.1"
# Catch unsafe migrations
gem "strong_migrations", "~> 2.0"
group :development, :test, :staging do
gem "faker"
end
group :development, :test do
# See https://guides.rubyonrails.org/debugging_rails_applications.html#debugging-with-the-debug-gem
gem "debug", platforms: %i[mri mingw x64_mingw]
gem "pry", "~> 0.14.2"
# Add annotation to models to make it easier to navigate in the codebase
# and the database structure
gem "annotate"
# Linting
gem "standard"
# Analysis for security vulnerabilities
gem "brakeman"
# Creating factory instantiations in tests
gem "factory_bot_rails"
end
group :development do
# Use console on exceptions pages [https://github.com/rails/web-console]
gem "web-console"
# Add speed badges [https://github.com/MiniProfiler/rack-mini-profiler]
# gem "rack-mini-profiler"
# Speed up commands on slow machines / big apps [https://github.com/rails/spring]
# gem "spring"
# view emails in browser in dev
gem "letter_opener", group: :development
# better errors and guard gems
gem "better_errors", "~> 2.9", ">= 2.9.1"
gem "guard", "~> 2.18"
gem "guard-livereload", "~> 2.5", ">= 2.5.2", require: false
end
group :test do
# Use system testing [https://guides.rubyonrails.org/testing.html#system-testing]
gem "capybara"
gem "cuprite"
# Uses configuration based on Evil Martian's blog post:
# https://evilmartians.com/chronicles/system-of-a-test-setting-up-end-to-end-rails-testing
gem "evil_systems", "~> 1.1"
# Code coverage analysis [https://github.com/simplecov-ruby/simplecov]
gem "simplecov", require: false
# Adds really common matchers you can use in tests to add
# test coverage easily
gem "shoulda", "~> 4.0"
gem "shoulda-matchers"
# Adds ability to stub out methods in tests easier
gem "mocha"
end