Skip to content

arish-me/pennybucket

Repository files navigation

Rails Wheel: Production-Ready Ruby on Rails Starter

Rails Wheel

GitHub stars GitHub forks GitHub issues License

🚀 Overview

Rails Wheel is a comprehensive, production-ready starter template for building modern web applications with Ruby on Rails.

Perfect for:

  • SaaS Applications
  • Internal Tools
  • MVPs and Prototypes
  • Full-featured Web Applications

✨ Key Features

🔐 Authentication & User Management

  • Devise Integration: Email/password authentication ready out of the box
  • OAuth Support: Google authentication with easy expansion to other providers
  • Role-based Access Control: Pundit integration for authorization
  • User Impersonation: Admin tools for debugging user experiences

🎨 Modern UI with TailwindCSS

  • Responsive Design: Mobile-first responsive layouts
  • Dark Mode: Built-in theme toggling with user preference persistence
  • Component Library: Pre-built UI components following best practices
  • Utility-first CSS: Rapid UI development with TailwindCSS

⚡ Hotwire & Modern Rails Stack

  • Turbo Drive/Frames/Streams: SPA-like experience with server-rendered HTML
  • Stimulus Controllers: Enhanced client-side interactivity
  • Importmap: Simplified JavaScript module management without complex bundlers
  • Hotwire Combobox: Accessible form components

🛠️ Developer Experience

  • PostgreSQL: Powerful database with advanced querying capabilities
  • Background Jobs: Ready for ActiveJob implementation
  • Internationalization: i18n setup for multi-language support
  • Testing Suite: RSpec configured with Capybara for feature testing

📋 Prerequisites

  • Ruby 3.2+
  • PostgreSQL 14+
  • Node.js 18+ (for TailwindCSS)
  • Yarn or npm

🔧 Installation

  1. Clone the repository

    git clone https://github.com/arish-me/rails-wheel.git your-app-name
    cd your-app-name
  2. Install dependencies

    bundle install
  3. Set up the database

    rails db:create db:migrate db:seed
  4. Start the development server

    bin/dev

    Visit http://localhost:3000 to see your application in action!

  5. Run tests

    bundle exec rspec

🧩 Project Structure

Rails Wheel follows Rails conventions with some enhancements:

  • /app/components - Reusable view components
  • /app/controllers - Application controllers with Pundit integration
  • /app/javascript/controllers - Stimulus controllers
  • /app/views/layouts/navs - Navigation components
  • /config/locales - Internationalization files

🧪 Testing

Rails Wheel comes with a comprehensive testing suite using RSpec:

# Run all tests
bundle exec rspec

# Run only feature tests
bundle exec rspec spec/features

# Run only model tests
bundle exec rspec spec/models

🤝 Contributing

We welcome contributions to Rails Wheel! Here's how you can help:

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Commit your changes: git commit -m 'Add some amazing feature'
  4. Push to the branch: git push origin feature/amazing-feature
  5. Open a Pull Request

Please make sure your PR follows our contribution guidelines.

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

📚 Resources


Built with ❤️ by Arish

About

A Rails Financial management system

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published