This repository serves as a default template for a monolithic Ruby on Rails (RoR) application. It includes a pre-configured setup with essential gems and tools to streamline development.
- Clone:
git clone https://github.com/Grigore-George-Mihai/default_template
- Update the project name to reflect your application.
- Customize the Devise configuration as only basic setup is included; adjust it to suit your specific authentication requirements.
- Modify the Scout APM settings as needed, or remove them if application performance monitoring is not required.
- Run the following rake task to create your environment files:
rake env:setup
- After running the task, open the newly created .env.development and .env.test files to modify them with the appropriate environment-specific variables as needed.
- Create DB and seed:
rails db:create db:migrate db:seed
- Devise: Flexible authentication solution for Rails based on Warden.
- Sidekiq: Efficient background processing for Ruby applications.
- Redis: In-memory data structure store used by Sidekiq for managing background job queues, scheduling, and retries.
- Draper: Helps in decorating models with additional presentation logic.
- Simple Form: Simplifies form creation with a clean and flexible syntax.
- Scout APM: Application monitoring tool.
- Bullet: Detects N+1 queries and unused eager loading.
- Rack Mini Profiler: Performance profiling tool.
- Byebug: Debugging tool for Ruby applications.
- Rubocop: Ruby static code analyzer.
- Rubocop Factory Bot: Enforces best practices for FactoryBot.
- Rubocop Faker: Linter for using Faker.
- Rubocop Migration: Lints for Rails migrations.
- Rubocop Performance: Performance-focused RuboCop checks.
- Rubocop Rails: Rails-specific linting rules.
- Rubocop Rake: Enforces best practices for Rake tasks.
- Rubocop RSpec: Linter for RSpec tests.
- Factory Bot Rails: Provides fixtures replacement with a straightforward definition syntax.
- Faker: A library for generating fake data.
- RSpec Rails: Testing framework for Rails.
- Shoulda Matchers: Simplifies testing Rails applications with RSpec.
- SimpleCov: Code coverage analysis tool.
- Rspec-Sidekiq: Testing framework for Sidekiq jobs.
- Brakeman: Static analysis tool for finding security vulnerabilities in Rails applications.
- Bundler Audit: Scans your Gemfile for known vulnerabilities.
- Dotenv Rails: Loads environment variables from
.env
.
-
Run the following rake task to check for security risks in your application:
rake security:check
- This task runs tools like Brakeman and Bundler Audit to ensure your application is secure.
For questions or further information, feel free to reach out via LinkedIn.