Skip to content

Grigore-George-Mihai/default_template

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Monolith Template

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.

Table of Contents

Installation

  1. Clone:
git clone https://github.com/Grigore-George-Mihai/default_template

Customize

  • 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 or remove the settings for Scout APM, Rollbar, and PgHero as needed, based on your performance, error tracking, and database monitoring requirements.
  • 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

Gems

Database and Monitoring

  • pg: PostgreSQL driver for Ruby, providing fast and efficient database connectivity.
  • PgHero: A tool for monitoring PostgreSQL database performance, including query insights, index suggestions, and table size analysis.

Authentication

  • Devise: Flexible authentication solution for Rails based on Warden.

Admin Interface

  • ActiveAdmin: A flexible and extensible admin framework for Ruby on Rails applications, making it easy to build custom admin panels.
  • ActiveAdmin Addons: Enhances ActiveAdmin with additional features like input widgets, searchable selects, and improved UI components for better admin interfaces.

Background Processing

  • Sidekiq: Efficient background processing for Ruby applications.
  • Sidekiq-Scheduler: Extends Sidekiq to support scheduled and recurring jobs using a simple configuration.
  • Redis: In-memory data structure store used by Sidekiq for managing background job queues, scheduling, and retries.

Decorator and Forms

  • Draper: Helps in decorating models with additional presentation logic.
  • Simple Form: Simplifies form creation with a clean and flexible syntax.

Performance Monitoring

Error Tracking

  • Rollbar: Real-time error tracking and reporting.

Debugging

  • Byebug: Debugging tool for Ruby applications.

Code Quality & Linting

  • Rubocop Rails Suite: A custom suite that bundles Rubocop with various plugins for Rails projects.

Testing

Security

  • Brakeman: Static analysis tool for finding security vulnerabilities in Rails applications.
  • Bundler Audit: Scans your Gemfile for known vulnerabilities.

Environment Management

Rake Tasks

Security Check

  • 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.

Docker Setup

  • If you prefer to run the application inside a Docker container, follow these steps:
  1. Build the Docker image:

    docker-compose build
  2. Start the Application and services:

    docker-compose up
  3. Stop the Application:

    docker-compose down
  4. Remove named Volumes:

    docker-compose down --volumes

Contact

For questions or further information, feel free to reach out via LinkedIn.

About

Monolithic Ruby on Rails (RoR) application

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published