All implementations
Rails + Postgres + Stripe
structuralConventional Ruby on Rails 7 monolith with Hotwire/Turbo, Devise for auth, Stripe Checkout for payments, and Solid Queue running background jobs in-process. Deploys to Fly.io via Kamal.
For spec: E-commerce Storefront
Frontend
Hotwire (Turbo + Stimulus)
Backend
Rails 7
Database
Postgres
ORM
ActiveRecord
Auth
Devise
Hosting
Fly.io
payments
Stripe
jobs
Solid Queue
3 tables4 routes1 modules4 packages3 env vars3 features uncovered
Packages
rails~> 7.1gemdevisegemstripegemsolid_queuegemEnvironment
DATABASE_URLrequiredSTRIPE_SECRET_KEYrequiredSTRIPE_WEBHOOK_SECRETrequiredFeature implementations
Background Jobs & Queues
background-jobsSolid Queue with dedicated worker Procfile entry.
Modules
app/jobs/send_order_receipt_job.rb— Email receipt after webhook
File Storage
file-storageActiveStorage backed by S3 for product images.
Payments & Billing
paymentsStripe Checkout session per order; webhook updates order.status.
Tables
orders5 fieldsidbigintuser_idbigintstatusstring — pending/paid/fulfilled/refundedtotal_centsintegerstripe_session_idstring
order_items5 fieldsidbigintorder_idbigintproduct_idbigintquantityintegerunit_centsinteger
Routes
POST
/checkoutCheckoutController#create
POST
/stripe/webhookStripeWebhooksController#create
Search
searchpg_search gem with tsvector on products(name, description).
Transactional Email
transactional-emailActionMailer with Postmark in production; letter_opener in dev.
User System & Auth
user-systemDevise with :database_authenticatable, :registerable, :confirmable.
Tables
users4 fieldsidbigintemailstringencrypted_passwordstringconfirmed_atdatetime
Routes
POST
/users/sign_inPOST
/users/sign_upUncovered features
The spec includes features this implementation doesn't describe. Contributions welcome.
NotificationsRate Limiting & Abuse PreventionOnboarding & Activation