Barebones

screenshot of Barebones

Personal Rails Template Generator

Overview

BarebonesGem is a base Rails application developed by Danny Yu. It provides a set of common gems and patterns that can be used out of the box for developing Rails applications. This gem aims to simplify the installation process and provide preconfigured gems for various functionalities such as webserver, file uploading, background processing, database, testing, API, and more.

Features

  • Webserver: Configured with Puma, a concurrent webserver.
  • File Uploading: Uses Carrierwave for file uploading, Fog for AWS/Google cloud storage, and MiniMagick for image cropping/resizing.
  • Background Processing: Default option is Sidekiq for background workers, but Resque and Resque-Scheduler are also available.
  • Database: Configured with Postgres as the default database.
  • Dev/Testing: Includes Byebug and Pry Byebug for debugging, Web Console for debugging views, and Awesome Print for pretty printing command line objects. It also includes Minitest, Minitest Reporters, Minitest Around, Mocha, and Database Cleaner for testing purposes.
  • API: Includes Jbuilder for building JSON structures, oj for faster JSON parsing, oj_mimic_json, and MultiJSON. It also includes API routes with subdomain and version namespacing and API version control with ApiConstraints.
  • Design Patterns: Provides pre-made folders for Services and Custom Decorator Class.
  • Configurations: Includes a Ping endpoint to test the API.

Summary

BarebonesGem is a base Rails application that provides a set of preconfigured gems and patterns for developing Rails applications. It includes a wide range of features such as webserver configuration, file uploading, background processing, database setup, testing frameworks, API support, and more. The installation process is simple and can be customized by skipping unnecessary gems or configurations. Overall, BarebonesGem aims to streamline the development process and provide a solid foundation for building Rails applications.