Overview
Rails Boilerplate is a standard set of gems, libraries, and configurations used for new projects. It includes both backend and frontend components, as well as development tools and testing frameworks.
Features
-
Backend:
- PostgreSQL: Database management system.
- Devise: User authentication solution.
- Omniauth: Connect with Google and Facebook for authentication.
- Kaminari: Pagination gem.
- Pundit: Authorization gem.
- Active Admin: Admin interface for managing data.
- Active Storage: File uploading and storage solution.
- Sidekiq: Background job processing.
- Redis: In-memory data structure store.
- Friendly IDs: Create human-readable URLs.
- Raygun4Ruby: Error tracking and monitoring.
- Sitemap Generator: Automatically generate sitemaps.
- Strong Migrations: Safe and reversible database migrations.
- PaperTrail: Versioning and auditing of database records.
- Strong Password: Password strength validation.
- Acts As Paranoid: Soft deletion of database records.
- Pretender: Switch user identities for testing purposes.
- Valid Email 2: Email validation gem.
-
Frontend:
- HAML: HTML templating language.
- Webpacker: JavaScript module bundler.
- SASS: CSS preprocessor.
- Simple Forms: Simplified form generation.
- High Voltage: Static page rendering.
- Kaminari Bootstrap4 Views: Bootstrap4 integration for Kaminari.
- Meta Tags: HTML meta tags management.
-
Development Tools:
- Better Errors: Improved error page for debugging.
- Awesome Print: Better console output formatting.
- Hirb: Table formatting in the console.
- Bullet: N+1 query detection and optimization.
- Peek: Performance monitoring and debugging.
- Guard Live Reloads: Automatic browser reloading during development.
- Annotate: Add comments summarizing the schema to models.
- Letter Opener: Preview emails in the browser.
-
Models:
- User: User model for authentication purposes.
- Admin User: User model for internal admin access.
-
Testing:
- RSPEC: Testing framework.
- Shoulda Matchers: RSpec matchers for common validations.
- Factory Bot: Fixture replacement for generating test data.
- Faker: Generate fake data for testing.
- Capybara: Acceptance testing framework.
Summary
Rails Boilerplate is a comprehensive set of gems, libraries, and configurations that provide a standardized foundation for new Rails projects. With features covering the backend, frontend, development tools, and testing frameworks, it offers a streamlined development experience. Installation involves configuring database settings, setting up secret keys, deploying to Heroku, and integrating with external services for outbound emails and authentication with Google and Facebook.