Zen Rails Base App

screenshot of Zen Rails Base App

Base application for Ruby on Rails 6 projects. Built to minimize the time spent writing boilerplate code and performing repetitive setup tasks.

Overview:

The Zen Rails Base Application is a "skeleton" application for Ruby on Rails 6.1 projects. It is designed to minimize the time spent on writing boilerplate code and performing repetitive setup tasks. The application comes pre-configured with a selection of useful gems, a test environment with RSpec and FactoryBot, authentication with Devise, authorization with Pundit, and internationalization (i18n) support. It also includes jQuery, HTML layouts developed with Bootstrap 3, user management interface for admins, a contact form, and various JavaScript libraries.

Features:

  • Useful Gems: The application includes a selection of useful gems for development and debugging such as rubocop, brakeman, awesome_print, byebug, and better_errors.
  • Preconfigured Test Environment: The test environment is preconfigured with RSpec, FactoryBot, Capybara (configured to work with Selenium and ChromeDriver), Database Cleaner, and SimpleCov.
  • Authentication and Authorization: The application comes with preconfigured authentication using the Devise gem and authorization using the Pundit gem.
  • Internationalization (i18n): The application uses YML dictionaries for internationalization, making it easier to translate elements like Devise, layout, and error messages.
  • jQuery: The application includes jQuery for enhanced functionality.
  • HTML Layouts with Bootstrap 3: The application provides HTML layouts developed with Bootstrap 3, including a navigation bar, displaying flash messages and validation errors as Bootstrap alerts, and role-based layout switching.
  • User Management Interface for Admins: The application includes a user management interface for admins, accessible only by users with an "admin" role.
  • Contact Form: The application has a contact form built with the mail_form gem.
  • JavaScript Libraries: The application includes various JavaScript libraries such as Select2 for enhanced select boxes and SweetAlert2 for better JS popups.
  • ZenUtils JavaScript Library: The application includes a small JavaScript library consisting of utility functions.
  • SCSS Utility Classes: The application provides SCSS utility classes for alignment, spacing, and font size standardization.
  • High Test Coverage: The application has a high test coverage.

Summary:

The Zen Rails Base Application is a preconfigured "skeleton" application for Ruby on Rails 6.1 projects. It saves developers time by minimizing the need to write boilerplate code and perform repetitive setup tasks. The application includes a selection of useful gems, preconfigured test environment, authentication and authorization, internationalization support, jQuery, Bootstrap 3 layouts, user management interface for admins, contact form, JavaScript libraries, utility classes, and high test coverage. It provides a solid foundation for building Ruby on Rails applications.