Tempura is a modern and light vanilla Rails 7 stack which adheres to the Rails doctrine. It's a starter template for building wonderful software products with Rails.
Unlike my other template Bento, Tempura uses the new Rails 7 import maps and does not require any Node tooling. It's the default experience that's shipped with Rails 7 for writing frontend assets. That means you can write modern JavaScript without all the bundling and transpiling.
This template additionally takes advantage of Tailwind CSS to allow you to easily style your application with a utility based approach. It uses the tailwindcss-rails gem which wraps Tailwind's new standalone CLI utility.
Tempura is light but powerful.
It provides a few staples:
- All the major Rails 7 defaults (except for Test Unit in favour of Rspec)
- Modern JavaScript using import maps
- Modern CSS powered by Tailwind
- Hotwire Stack (Turbo & Stimulus) for SPA-like JavaScript sprinkles without the SPA complexity.
- Sidekiq for background jobs
- Rspec for unit and system tests along with simplecov for coverage support
- Capybara with headless Selenium integration tests and a pre-configured Github Actions config ready to go. See
spec/system
for an example.
Make sure you've installed the dependencies above then:
Fork the repo:
git clone git@github.com:darokel/tempura.git
Set up your machine:
./bin/setup
Make sure the tests pass:
./bin/rake
Start the server:
./bin/dev
Go and build!
This repo comes with a 1-click deployment option to Render:
There are also some scripts available to help with deploying to Render and setting up preview apps (Render's answer to Heroku review apps).
See DEPLOYMENT.md for more info on using the template with Render.
Distributed under the MIT License. See LICENSE
for more information.