Skip to content
CAI
Software that uses CAICheck a score

drhenner/ror_ecommerce

40.5

Weak · 20 September 2026

12.1k

lines of production code

Ruby

with JavaScript

1

measurement over time

CAI band scale
CAI lens gauges

What this system is

This system is a Ruby on Rails e-commerce platform that manages the full lifecycle of online retail operations, from product cataloging and inventory to order fulfillment and customer service. It provides a public storefront for browsing products, managing shopping carts, and completing checkout, alongside a comprehensive admin interface for configuring shipping, taxes, and promotions. The application supports role-based access for staff to handle orders, process returns, and manage customer accounts, while also offering self-service features for users to track orders and store credits.

How it got here

2010 — Rails 8.1 migration and initial feature implementation

76 changes.

The project was initialized on Rails 8.1 with Ruby 3.3, establishing a modern infrastructure using Docker, Tailwind CSS, and a new asset pipeline. This period focused on building the core e-commerce domain by implementing comprehensive controllers, models, and views for user authentication, product management, shopping carts, and checkout flows. It also introduced extensive administrative capabilities for order fulfillment, inventory, and configuration, supported by a full suite of RSpec tests and database schemas.

2011 — Admin and customer interface expansion

38 changes.

This period focused on expanding the admin interface with comprehensive tools for managing merchandise, inventory, and a structured checkout workflow, while simultaneously enhancing the customer-facing experience through new account management, coupon application, and notification features. Significant effort was also dedicated to establishing robust test coverage for these new controllers and refining UI components like product wizards and address forms.

2012–2026 — Admin overhaul and modernization

38 changes.

This period focused on a comprehensive redesign of the admin interface, migrating storefront styling to Tailwind CSS and rewriting frontend JavaScript with Stimulus controllers. It introduced extensive new administrative capabilities, including detailed reporting dashboards, partial shipment fulfillment, and granular management of user credits, referrals, and addresses. The work also established robust background job infrastructure for email delivery and updated the application to Rails 8.1 with modernized testing and asset pipelines.

Features

Add admin weekly charts for sales and earnings

Admin users can now view weekly sales and earnings data through new chart visualizations on the reports index page. The implementation uses Stimulus controllers to render charts based on data passed from the controller, with a dedicated JSON builder providing the underlying weekly summary data.

app/views/admin/reports/graphs · high confidence

Add billing address management to the shopping checkout flow

Customers can now view, add, and edit billing addresses directly within the shopping section of the site. The new index page displays existing addresses in a grid with options to select one for the current order or edit it, while a dedicated form allows users to input personal details, phone numbers, and location data (including conditional state/country fields based on settings). A 'Use' button on existing addresses allows quick selection for the active order, and the form includes validation feedback and a 'Save & Continue' action to streamline the checkout process.

_app/views/shopping/billing\addresses · high confidence

Add custom validators, encryption helper, and Sass integration

This change introduces several new capabilities to the application's core library. It adds a set of custom validators for emails, phone numbers, US/Canada zip codes, USPS/FedEx/UPS tracking numbers, names, SSNs, and various credit card types (Visa, MasterCard, Amex, etc.), ensuring data integrity for user inputs. An encryption helper module is added to support AES-256-CBC encryption and decryption using a configurable key. Additionally, a Sprockets processor for Sass (SCSS and indented syntax) is integrated to handle asset compilation with support for asset URL helpers, and string extensions are provided for possessive formatting and numeric checks.

lib · high confidence

Add default Rails 3 scaffold templates and executable script

This change introduces the default ERB scaffold templates for generating views (index, show, new, edit, and form partials) and adds the \script/rails\ executable entry point. These files provide the standard structure for Rails 3 applications, enabling the generation of basic CRUD interfaces and the proper bootstrapping of the application environment.

lib/templates, script · high confidence

Added About and Terms & Conditions pages

New 'About Us' and 'Terms & Conditions' pages have been added to the site, providing dedicated views for company information and legal terms. These pages are styled with a consistent layout and typography, and dynamically display the site name, preparing the content for future integration into the site footer.

app/views/abouts, app/views/terms · high confidence

Added admin and storefront wireframe prototypes

Added six new HTML/CSS wireframes in the wireframes directory to provide visual references for the admin dashboard and storefront designs. The admin options include a sidebar layout (Option A), a top navigation with command palette (Option B), and a two-tier hybrid navigation (Option C). The storefront options present a minimal editorial style (Option A), a magazine-style storytelling layout (Option B), a filtered catalog interface (Option C), and a mobile-first card-based design (Option D).

wireframes · high confidence

Added admin views for managing credit cards in checkout

New view templates have been added to the admin interface for the credit card resource within the shopping checkout flow. This includes a form partial for creating and editing credit cards, along with index, show, new, and edit pages that allow administrators to list, view, and modify credit card details associated with a customer's cart.

_app/views/admin/shopping/checkout/credit\cards · high confidence

Added coupon application interface to the shopping flow

A new view for applying coupons has been added to the shopping experience. Users can now enter a coupon code via a form on the coupon page, with validation errors displayed if the code is invalid. The interface includes an 'Apply Coupon' button to submit the code and a 'Skip' link to bypass the step and proceed to the orders page.

app/views/shopping/coupons · high confidence

Added partial shipment creation interface in admin

Admin users can now create partial shipments for an order. A new form lists only paid and unshipped order items with checkboxes, allowing the admin to select a subset of items to ship, and submits via a dedicated partial shipment path.

app/views/admin/fulfillment/partial · high confidence

Added referral invitation form and status tracking

Users can now invite friends via a new form in the My Account section, collecting name and email, and view a table of existing referrals showing their name, email, and current status with formatted dates.

app/views/myaccount/referrals · high confidence

Added standard HTTP error page templates and robots.txt

The application now includes static HTML templates for common HTTP error responses (404 Not Found, 422 Unprocessable Entity, and 500 Internal Server Error) along with a default robots.txt file. These files provide users with clear, styled messages when encountering errors or accessing non-existent pages, and establish initial guidelines for web crawlers.

public · high confidence

Added standard Rails executable scripts and development helper

The application now includes standard Rails executable scripts (bin/rails, bin/rake, bin/bundle) to ensure consistent command execution across environments. Additionally, a new bin/dev script has been added to streamline local development by automatically installing the foreman gem if missing, setting default environment variables for port and debugging, and launching the application via a Procfile.dev.

bin · high confidence

Added unsubscribe success confirmation page

Users now see a dedicated success page when they unsubscribe from newsletters, confirming that they have been removed from all \<%= site\_name %\> newsletters.

app/views/unsubscribes · high confidence

Added vendor stylesheets and SassyLists library

This change introduces several new static assets to the vendor directory. It adds the SassyLists library, providing SCSS functions for list manipulation (such as contain, purge, remove, replace, and to-list) under vendor/assets/stylesheets/\_vendor/sassy-lists. It also includes the jQuery UI 1.8.12 Cupertino theme stylesheet, along with new custom application stylesheets (modstyles.css and scaffold.css) for layout and form styling. Additionally, a .gitkeep file is added to vendor/plugins to preserve the directory structure.

vendor · high confidence

Admin RMA return authorization management interface

Administrators can now manage Return Merchandise Authorizations (RMAs) through a dedicated admin interface. This change introduces a new controller hierarchy with a base controller and a specific controller for return authorizations, enabling full CRUD operations (create, read, update, delete) as well as specific actions to complete or cancel an RMA. The interface supports grid-based listing with sorting capabilities and includes strong parameter sanitization for attributes like amount, restocking fee, and order association.

app/controllers/admin/rma · high confidence

Admin UI for managing referrals and store credits

Administrators can now manage referral programs and user store credits through new dedicated views. The referral section includes a list view with sorting and pagination, forms to create and edit referrals (capturing referring user email, new user details, program, and type), and a bulk action to apply pending referrals. The store credit section allows administrators to view a customer's current balance and adjust it via a dedicated edit form.

_app/views/admin/user\datas/referrals · high confidence

Admin UI for managing user store credits, referrals, and addresses

Administrators can now manage user store credits, referrals, and addresses directly from the admin panel. This change introduces dedicated controllers for these resources: the Store Credits controller allows admins to add credits to a user's account; the Referrals controller provides a web form to create referrals (linking them to existing users by email) and a bulk action to apply credits to unapplied referrals; and the Addresses controller enables admins to add, view, and inactivate shipping/billing addresses for users, with logic to automatically set new addresses as default if none exist. These controllers share a new base controller and follow standard Rails CRUD patterns with strong parameters.

_app/controllers/admin/user\datas · high confidence

Admin UI for receiving purchase orders

The admin inventory section now includes a dedicated interface for managing purchase order receipts. Users can view a list of pending purchase orders on the index page, filtering by supplier, invoice, or tracking number, and navigate to an edit view to mark orders as received. The edit form displays order details and allows users to receive the entire purchase order via a single checkbox, providing a streamlined workflow for inventory intake.

app/views/admin/inventory/receivings · high confidence

Admin address selection interface for fulfillment shipments

The admin fulfillment area now includes a dedicated interface for managing shipping addresses on shipments. Users can view a list of available addresses in a card-based layout, see which one is currently selected, and switch the active address for a shipment directly from this view using a 'Use' link. The form also displays validation errors if the address update fails.

app/views/admin/fulfillment/addresses · high confidence

Admin fulfillment comment management UI

Admin users can now view, create, edit, and delete comments attached to fulfillment orders. This change introduces a new set of views for the admin fulfillment comments section, providing a table to list existing comments and forms to add or modify them, with error handling and navigation links to manage order-specific notes.

app/views/admin/fulfillment/comments · high confidence

Admin help page displays application version

A new Help page has been added to the admin interface, which now displays the current RoR Ecommerce version and revision number retrieved from the application constants.

app/views/admin/help · high confidence

Admin interface for customer service comments

Administrators can now view, create, and inspect comments associated with customer service interactions. This update adds a dedicated comments section within the admin area, providing a list view of all comments with details such as the note content, commentable type, author, and associated user, along with forms to add new comments and views to see individual comment details.

_app/views/admin/customer\service · high confidence

Admin interface for editing product properties

Administrators can now edit product properties through a dedicated form in the admin merchandise section. This change introduces a new UI for managing property details, including selecting the property type, setting a description, and defining the display position, with support for adding or removing multiple properties within a single edit session.

app/views/admin/merchandise/changes · high confidence

Admin interface for managing coupons

Administrators can now create, view, edit, and list coupons through a new set of views in the admin section. The interface includes a form for defining coupon attributes such as code, type, amount, minimum value, percentage, description, combination rules, and validity dates. The listing page displays all coupons and visually highlights expired entries in red, while the detail view presents the full coupon configuration for review.

(repo-wide) · high confidence

Admin interface for managing coupons, deals, and sales

Administrators can now create, edit, and manage promotional offers directly from the admin panel. This change introduces three new controllers—Coupons, Deals, and Sales—within the generic admin namespace. The Coupons controller allows for the creation of various coupon types with parameters like code, amount, and validity dates. The Deals controller supports complex promotional logic, such as 'buy X get Y' offers, by managing deal types and product associations. The Sales controller enables the setup of percentage-based discounts for specific products. All three controllers provide full CRUD capabilities, including list views with pagination and sorting, and use strong parameters to securely handle form submissions.

app/controllers/admin/generic · high confidence

Admin interface for managing customer comments

Administrators can now view, create, and sort comments associated with specific customer profiles within the admin panel. This change introduces a new controller hierarchy under \Admin::CustomerService\ that allows staff to list comments with pagination and sorting capabilities, as well as add new comments linked to a user. The system ensures that new comments are correctly attributed to the target customer and the admin user creating them, with a confirmation notice displayed upon successful creation.

_app/controllers/admin/customer\service · high confidence

Admin interface for managing customer shipping addresses

Administrators can now view, create, edit, and inactivate shipping addresses for individual customers. The new admin views include a list page with pagination, a form for adding or modifying address details (including conditional logic for state/province and country selection), and a detail view. This provides a dedicated UI for managing user address data within the admin panel.

_app/views/admin/user\datas/addresses · high confidence

Admin interface for managing order shipping addresses

Administrators can now view, create, edit, and select shipping addresses for specific orders through a new set of admin views. The index page lists all addresses associated with an order, allowing staff to select a specific address to update the shipment destination. New and edit forms capture standard address details (name, street, city, state, zip) and include validation error handling, while the show page displays the full address details for review.

app/views/admin/history/addresses · high confidence

Admin interface for managing product properties

A new controller has been added to the admin merchandise section, allowing administrators to edit and update product properties. This change introduces a dedicated UI flow for managing property associations on products, utilizing friendly IDs for product lookup and permitting all product parameters for updates.

app/controllers/admin/merchandise/changes · high confidence

Admin interface for managing product variants

Administrators can now create, edit, and manage product variants directly from the merchandise admin area. The new edit interface allows users to set SKU, price, cost, and name for each variant, assign specific image groups, and toggle an inactivation status. It also supports defining custom properties (such as size or color) for each variant, including marking a property as primary.

app/views/admin/merchandise/multi · high confidence

Admin interface for variant-specific image groups

Administrators can now create and manage image groups to assign specific images to individual product variants. This change introduces a new admin section with index, new, edit, and show views for image groups, allowing users to associate images with a product and then link those groups to specific variants. The interface includes a helper guide explaining the workflow: create an image group, add images to it, and then associate that group with the relevant variant in the product editor.

_app/views/admin/merchandise/image\groups · high confidence

Admin invoice management with PDF export

Administrators can now view, sort, and paginate a list of invoices in the admin panel. The invoice detail page supports HTML viewing and allows users to download the invoice as a PDF file. Additionally, administrators can cancel authorized payments when deleting an invoice.

app/controllers/admin/document · high confidence

Admin partial shipment creation capability

Administrators can now create shipments for specific order items within the admin fulfillment workflow. A new controller handles the creation and editing of these partial shipments, allowing users to select specific order items to be shipped, with success or error feedback displayed via flash notices.

app/controllers/admin/fulfillment/partial · high confidence

Admin prototype management interface

The admin section now includes a dedicated interface for managing merchandise prototypes. Administrators can create new prototypes and edit existing ones via forms that capture the prototype name, active status, and associated properties. The index page provides a sortable list of prototypes with filtering capabilities and pagination, allowing for easier navigation and management of prototype data within the admin dashboard.

app/views/admin/merchandise/prototypes · high confidence

Admin reports overview page added

A new view for the admin reports overview has been introduced, providing a dashboard that displays key metrics for cart items, orders, accounting (revenue, cash, receivables, payables), and customers within a specified time frame. The page includes a filter form allowing administrators to generate reports for daily, weekly, or monthly periods.

app/views/admin/reports/overviews · high confidence

Admin sales management interface

Added views for creating, editing, listing, and viewing sales in the admin area, allowing administrators to manage product discounts by setting a percentage off and defining start and end dates.

app/views/admin/generic/sales · high confidence

Initial database schema and migration structure

This change introduces the foundational database schema for the application, establishing core tables for user management (users, accounts, roles), product catalog (products, variants, prototypes, properties), and order processing (carts, orders, shipments, payments). It also includes supporting structures for shipping, tax, inventory, and administrative functions, providing the necessary data persistence layer for the store's initial features.

db/migrate · high confidence

Initial database schema and seed data setup

The application now includes a complete database schema definition (schema.rb) and a seed file (seeds.rb) to initialize the database. The schema defines tables for core e-commerce entities including accounts, addresses, carts, coupons, deals, and inventory-related structures, alongside Active Storage for file management. The seed file populates the database with essential reference data such as countries, states, roles, address types, shipping zones, and referral programs, ensuring the application starts with a consistent baseline state.

db · high confidence

Introduce new product creation wizard

Adds a new multi-step wizard workflow for creating products in the admin interface, breaking the process into sequential steps for selecting a brand, product type, properties, and shipping category before finalizing the product. The implementation includes a base controller to manage session state and navigation between steps, along with specific controllers for each wizard stage (brands, product types, properties, prototypes, shipping categories) to handle data persistence and progression.

app/controllers/admin/merchandise/wizards · high confidence

Introduce role-based access control and new domain models

The application now enforces granular permissions via CanCan-based \Ability\ and \AdminAbility\ models, restricting user actions based on roles such as super\_admin, admin, warehouse, customer\_service, and report. This change introduces a comprehensive set of new domain models to support core commerce operations, including \Account\ for subscription billing, \AccountingAdjustment\ and \Batch\ for financial tracking, \Cart\ and \CartItem\ for shopping logic, \Coupon\ with single-table inheritance for discounts, \Deal\ for promotional pricing, \Image\ with ActiveStorage integration, \Inventory\ for stock management, and \Invoice\ with an AASM state machine for payment lifecycle management. Additionally, presentation concerns are added to standardize display logic for orders, products, and users.

app/models · high confidence

New My Account overview and profile editing pages

Users can now view their profile details, shipping address, and store credit balance on a new My Account overview page, with a dedicated edit form to update their first name, last name, and password. The overview page displays the user's email (read-only), current shipping address (or a link to add one), and store credit amount, providing a centralized hub for managing personal account information.

app/views/myaccount/overviews · high confidence

New My Account section for managing addresses, orders, and profile

Users can now access a dedicated My Account area to manage their personal information and order history. This update introduces controllers for viewing and editing shipping addresses (with logic to auto-set defaults and handle state requirements), viewing past orders, managing credit cards, and updating profile details. It also adds support for store credits and referrals, ensuring all these features require user authentication and provide a consistent tabbed interface.

app/controllers/myaccount · high confidence

New ROR E-Reports domain models for financial and customer metrics

Added new report models (Accounting, Customers, Orders, Sales) in the RorEReports module to calculate and expose key business metrics. These models allow users to query aggregated data such as revenue, cash flow, accounts receivable/payable, user counts, order quantities, taxes collected/returned, and weekly sales summaries within specified timeframes.

_app/models/ror\_e\reports · high confidence

New Wish List page with saved items integration

Users can now view their wish list items in a grid layout, with the ability to remove items directly from the list. The page also displays any saved cart items below the wish list, providing a consolidated view of desired and saved products.

_app/views/wish\items · high confidence

New admin UI for managing suppliers

Administrators can now create, view, edit, and list suppliers through a new interface in the admin inventory section. The update introduces a dedicated list view with search filters for name and email, sortable columns, and pagination, alongside standard forms for adding and modifying supplier details (name and email).

app/views/admin/inventory/suppliers · high confidence

New admin checkout flow for creating orders

This change introduces a new, structured checkout process within the admin interface for creating orders. It adds a set of controllers (base, billing/shipping addresses, credit cards, orders, and shipping methods) that guide an admin through the steps of selecting a customer, adding cart items, specifying shipping and billing addresses, choosing shipping methods, and processing payment. The flow enforces a step-by-step progression, ensuring required data (like addresses and shipping rates) is present before allowing the order to be finalized and invoiced.

app/controllers/admin/shopping/checkout · high confidence

New admin configuration controllers for accounts, countries, and shipping/tax settings

This change introduces a new set of admin controllers under the \Admin::Config\ namespace, establishing a dedicated area for managing core business configuration. The \Admin::Config::BaseController\ restricts access to super admins and sets the admin layout. New controllers allow administrators to manage Accounts, Countries (with active/inactive status and shipping zone assignment), Shipping Zones, Shipping Categories, Shipping Methods, Shipping Rates, and Tax Rates. The implementation enforces a creation dependency chain for shipping (Zone → Method → Rate → Category) and uses strong parameters for all create/update actions, while tax rate deletion now uses an inactivation method rather than hard deletion.

app/controllers/admin/config · high confidence

New admin controllers for inventory management

This change introduces five new admin controllers to handle specific inventory operations: Adjustments (for modifying stock levels and handling supplier refunds), Overviews (for listing and editing product details), Purchase Orders (for creating, editing, and deleting purchase orders), Receivings (for tracking and updating the receipt of purchase orders), and Suppliers (for managing supplier information). These controllers provide the backend logic for the corresponding admin UI components, utilizing strong parameters for security and Pagy for pagination.

app/controllers/admin/inventory, app/controllers/admin/merchandise · high confidence

New admin dashboard with onboarding instructions

The admin overview page now displays a 'Dashboard' header and conditionally shows Super Admin credentials if they are present. For standard users, it presents a 'Getting Started' guide that walks through the initial setup process, including changing admin credentials, configuring accounts and shipping settings, creating product properties and types, adding products and variants, uploading images, and managing inventory.

app/views/admin/overviews · high confidence

New admin fulfillment controllers for orders, shipments, addresses, and comments

The admin fulfillment interface now uses dedicated controllers to manage the order-to-shipment workflow. Administrators can view and sort orders, create shipments (including handling cases where shipments already exist), capture payments, and cancel unshipped orders. Shipments can be marked as shipped, and shipping addresses can be selected and updated. Additionally, administrators can add, edit, and delete comments on orders, with proper permission checks via strong parameters. These changes provide a more structured and informative workflow for managing fulfillment tasks in the admin area.

app/controllers/admin/fulfillment · high confidence

New admin history controllers for orders and addresses

Added new controllers for the admin history section to manage order and address records. The Orders controller provides an index view with pagination and a show view that loads detailed order data including shipping addresses, invoices, shipments, and order items. The Addresses controller allows administrators to view, create, and edit addresses associated with orders, including setting a selected address as the order's shipping address. Both controllers are part of the admin history module for tracking order-related changes.

app/controllers/admin/history · high confidence

New admin interface for adjusting inventory levels

Administrators can now adjust stock quantities for specific product variants through a new set of views. The index page lists products with pagination, allowing admins to select a product to view its variants and their current inventory status (on-hand, pending to customer, pending from supplier). From the product show view, admins can edit a specific variant's quantity via a form that accepts a numeric quantity to add and a supplier refund amount, with validation errors displayed clearly. This provides a dedicated workflow for manual inventory corrections.

app/views/admin/inventory/adjustments · high confidence

New admin interface for managing account configurations

Administrators can now create, edit, and delete account records via a new dedicated section in the admin panel. This feature provides a form to define account details such as name, type, monthly charge, and active status, and displays these records in a sortable table on the configuration overview page, enabling management of subscription-related data.

app/views/admin/config/accounts · high confidence

New admin interface for managing product types

The admin area now includes a dedicated UI for managing product types, allowing administrators to create, edit, and list types in a hierarchical tree structure. The new index page features a sortable table of product types, a search filter by name, and pagination, while the new and edit forms provide fields for the type's name and its parent type to support nested categorization.

_app/views/admin/config/shipping\_zones, app/views/admin/merchandise/product\types · high confidence

New admin interface for managing product variants

Administrators now have a dedicated section to view, create, edit, and delete product variants. The new interface includes a searchable grid listing variants by SKU and price, a form for capturing variant details such as SKU, price, cost, and master status, and a properties editor for managing variant-specific attributes. The show view displays inventory counts and allows inactivation of variants.

app/views/admin/merchandise/variants · high confidence

New admin interface for viewing and managing invoices

Administrators can now access a dedicated section to view, search, and manage invoices. This includes a paginated list view with filters for order numbers, a detailed view for individual invoices showing amount and status, and the ability to cancel authorized invoices. Additionally, a new PDF generation capability allows users to view and download invoice documents directly from the admin interface.

app/views/admin/document · high confidence

New admin inventory overview and editing interface

Administrators can now view a consolidated list of products and their variants in the admin area, displaying SKU, price, quantity on hand, and variant properties. This change introduces a new workflow allowing admins to edit inventory levels directly for specific products, with a form that iterates through product variants to adjust quantities on hand.

app/views/admin/inventory/overviews · high confidence

New admin navigation and help helper modules

Added two new helper modules for the admin area: Admin::HelpHelper (currently empty, providing a placeholder for documentation-related view helpers) and Admin::NavigationHelper. The navigation helper introduces reusable components for building the admin sidebar, including methods to render individual nav items with icons and badges, collapsible nav groups with toggle functionality, and section labels. It also includes utility methods to display the current user's initials and their specific role label (e.g., Super Admin, Admin, Warehouse, Customer Service, Reports, or Staff) within the interface.

app/helpers/admin · high confidence

New admin order history views with pagination and detailed order information

Administrators can now view a paginated list of historical orders in the admin panel, displaying order number, customer name, email, completion date, and shipment status. Clicking an order opens a detailed view that presents order information, line items with prices, shipping address (with an option to change it), shipment details (including state, method, and tracking), invoice data, and Return Merchandise Authorization (RMA) management links. The list view uses pagination to handle large numbers of orders, and the detail view explicitly handles cases where no shipments or RMAs exist.

app/views/admin/history/orders · high confidence

New admin order summary and checkout view

Administrators can now view a detailed order summary in the admin panel, including shipping and billing addresses with the ability to change them, and a list of order items displaying product images, names, quantities, and variant properties. The view also includes a form for entering credit card information (name, number, VCC, type, month, and year) to complete the order, with autocomplete disabled for security.

app/views/admin/shopping/checkout/orders · high confidence

New admin reporting dashboard with sales and accounting charts

Administrators can now access a new reporting section in the admin area that displays sales, earnings, accounting, orders, and customer data. The system provides an overview page showing key metrics like cart item counts within a specified time range, and dedicated charting pages for visualizing sales trends over daily, weekly, or monthly periods. Time ranges can be customized via start date parameters or default to recent periods (e.g., last week or 10-30 weeks back depending on the view).

app/controllers/admin/reports · high confidence

New admin shipping method selection interface

A new view for the admin checkout process allows administrators to select shipping methods for orders. The interface displays order items grouped by shipping category, showing product images, names, quantities, and variant properties. Administrators can choose from available shipping rates via radio buttons and submit their selection to update the order.

_app/views/admin/shopping/checkout/shipping\methods · high confidence

New admin shopping cart summary and navigation

The admin shopping interface now includes a dedicated right-panel summary for the current cart, displaying the associated customer, itemized line items with inline quantity controls, and subtotal calculations. A new sub-header navigation bar provides quick links to users, products, and checkout steps (shipping, billing, shipping method) when a customer is selected. Cart quantity updates are handled via Turbo Streams to refresh the summary panel without a full page reload.

app/views/admin/shopping · high confidence

New application helper for nested forms and site branding

A new ApplicationHelper module has been introduced to centralize common view logic. It provides helpers for managing nested form attributes (add/remove child links and field templates) via Stimulus controllers, a utility for creating sortable column links, and a site\_name helper that retrieves the company name from I18n translations, simplifying site-wide branding updates.

app/helpers · high confidence

New background jobs for sending order, password reset, and signup emails

A new background job class has been added to handle asynchronous email delivery for three key user interactions: order confirmations, password reset instructions, and new user signup notifications. These jobs queue messages to dedicated email queues (order\_confirmation\_emails, password\_reset\_emails, and signup\_notification\_emails) and utilize the Notifier to deliver the actual emails, ensuring that these communications do not block the main application thread.

lib/jobs · high confidence

New billing address management interface in admin checkout

The admin shopping checkout now includes a dedicated billing address workflow, introducing views for listing existing addresses, creating new ones, and selecting a default. The new index page allows administrators to view a list of customer billing addresses, select one as the active billing address for the current order, or edit existing entries. The new address form supports standard fields (name, street, city, zip) and conditionally renders state or country selectors based on configuration settings, while also allowing the user to mark the address as the default billing address.

_app/views/admin/shopping/checkout/billing\_addresses, app/views/admin/shopping/checkout/shipping\addresses · high confidence

New controller for managing product image settings

A new controller, Admin::Merchandise::Images::ProductsController, has been added to handle editing and updating product image configurations. This controller allows administrators to view a product's images and update product attributes via a dedicated edit and update flow, utilizing friendly ID for record lookup.

app/controllers/admin/merchandise/images · high confidence

New controller for managing product variants in the admin area

A new controller has been introduced to handle the editing and updating of product variants within the admin merchandise section. This change allows administrators to modify variant details such as SKU, name, price, and cost, and supports the association of image groups with products. The implementation uses strong parameters to permit updates, currently allowing all product attributes via a wildcard permit, and redirects users back to the product page upon successful update.

app/controllers/admin/merchandise/multi · high confidence

New controllers for authentication, product browsing, and user preferences

This change introduces a new set of controllers to handle core user interactions. The UserSessionsController manages login and logout, including session reset and cart merging upon authentication. The ProductsController handles product listing, search, and detail views with pagination. Additional controllers provide specific features: WishItemsController for managing wish lists, NotificationsController for back-in-stock alerts, StatesController for country-specific state selection, and UnsubscribesController for newsletter management. Static informational pages are now served via AboutsController and TermsController, while the WelcomeController displays featured and best-selling products on the homepage.

app/controllers · high confidence

New customer account management controllers for registration, activation, and password resets

The application now includes dedicated controllers for customer account lifecycle management. The new \Customer::RegistrationsController\ handles user sign-up, enforcing password confirmation and strong parameters, and initiates email-based account activation. The \Customer::ActivationsController\ processes activation links, automatically logging the user in and merging their cart upon successful activation. Additionally, the \Customer::PasswordResetsController\ manages password recovery, including validation of reset tokens to prevent invalid link usage and sending reset instructions via email.

app/controllers/customer · high confidence

New email templates and notification views for stock, referrals, and account events

This change introduces a suite of new email notification templates in the notifier views, including order confirmations, password reset instructions, and signup notifications (with both HTML and text formats). It adds stock-level alerts for when items are in stock, out of stock, or low on stock, as well as referral-related emails for invites and credit rewards. A common email header and footer partials are also added to standardize the look and feel across these messages, including an unsubscribe link in the footer.

app/views/notifier · high confidence

New invoice PDF generation with configurable layout and branding

The system now generates invoice PDFs using a new \InvoicePrinter\ module that leverages Prawn for document creation. This change introduces support for a branded invoice template, including a configurable background image and logo pulled from asset paths. The layout is driven by a YAML configuration file (\invoice.yml\) which defines the positioning of header details, allowing for flexible text placement. The generated PDF now explicitly displays line items, shipping charges, coupon discounts, deal amounts, and total tax charges, ensuring all financial components of the order are visible on the printed document.

lib/printing · high confidence

New merchandise property wizard interface

Administrators can now manage merchandise properties through a dedicated wizard workflow. The new interface allows users to select existing properties via a multi-select list or create new properties by entering an identifying name and display name. It also provides an option to use existing prototypes to streamline the setup process.

app/views/admin/merchandise/wizards/properties · high confidence

New order history and details views in My Account

The My Account section now includes dedicated views for order history and individual order details. The order list page displays a summary of each order, including the order number, total amount, status, and completion date, with a clear message for users with no orders. The order detail page provides a comprehensive breakdown of the order, showing the order number, completion date, shipping and billing addresses (when available), and a list of items purchased, including links to product pages where applicable.

app/views/myaccount/orders · high confidence

New order summary and confirmation pages with detailed pricing and payment form

The shopping orders interface now includes dedicated views for order summaries and confirmations. The order summary page displays a detailed price breakdown including subtotal, shipping, taxes, coupons, promotions, and credits, alongside shipping and billing addresses. It also features a payment form that collects card details (number, CVV, expiry) with autocomplete disabled for security. The confirmation page provides a thank-you message with the order number and a list of purchased items. A new partial renders individual order items with product images and variant details.

app/views/shopping/orders · high confidence

New product type and brand management wizards in admin

Admin users can now manage product types and brands through new wizard-style interfaces. The product type wizard allows creating new types with a name and an optional parent type (supporting hierarchical structures), while the brand wizard enables creating new brands. Both wizards provide a list view to select existing items or create new ones, featuring improved styling consistent with the ongoing Zurb Foundation 6 upgrade.

_app/views/admin/merchandise/wizards/product\types · high confidence

New purchase order management interface in admin inventory

Administrators can now create, edit, view, and list purchase orders through a dedicated UI in the admin inventory section. The new interface includes a searchable index with filters for supplier, invoice number, tracking number, and received status, as well as forms for creating and editing orders that support adding multiple line items (variants) with quantity and cost fields. The show page displays order details and variant information, and provides a link to receive the purchase order if it has not yet been received.

_app/views/admin/inventory/purchase\orders · high confidence

New rake tasks for seeding, state management, and CI support

This update introduces several new rake tasks to improve development workflow and data management. Users can now populate the database with fake seed data (including activating products) via \rake db:seed\_fake\, load specific country states/provinces using \rake db:add\_states\, and apply referral credits with \rake rore:referrals:apply\. Additionally, a \rake db:test:prepare\ task is added to streamline test database setup, and a \rake travis\ task is provided to facilitate local Continuous Integration testing by running RSpec with a virtual display.

lib/tasks · high confidence

New shared view components for storefront and admin UI

Added a suite of new shared partials to standardize the user interface across the application. The storefront now includes a responsive header with product navigation and cart display, a structured footer with shop and account links, a compact address display, and a new error message component. Additionally, Google Analytics tracking has been introduced to monitor page views, checkout events, and order transactions. The admin interface has been updated with a new sidebar navigation, top bar with search, and flash message handling to improve administrative usability.

app/views/shared · high confidence

New shipping method selection interface for checkout

A new view for the shipping methods index page has been added, allowing users to select shipping options during checkout. The interface groups order items by shipping category, displaying product details and quantities for each group. For each category, users can choose from available shipping rate options via radio buttons, with a 'Continue' button to proceed to the next step of the checkout process.

_app/views/shopping/shipping\methods · high confidence

Project initialization and environment configuration

The repository has been initialized with a new project structure, establishing the base configuration for the application. This includes setting the Ruby version to 3.3.8 via .ruby-version, configuring the application to run on Rails 8.1, and adding a Docker development environment (Dockerfile.dev, docker-compose.yml) to streamline local setup. The project also introduces a new CHANGELOG.md documenting the history up to version 2.1.0, updates the .gitignore to exclude modern development artifacts (such as .byebug\_history and local config files), and adds standard documentation files like README.md, LICENSE, and contributing.md.

(repo-wide) · high confidence

Behavioural changes

8 commits (0 fixes) modifying app/assets/images

A change to existing behaviour in app/assets/images — 8 commits, 71 files.

app/assets/images · medium confidence · unverified

Add JSON endpoint for available states

A new view template at app/views/states/index.json.erb has been added to support the states controller. This change enables the application to return a JSON response containing a list of states (formatted as abbreviation and name pairs with their IDs) for the country selected by the user, facilitating dynamic state selection in the UI.

app/views/states · high confidence

Added autotest discovery configuration for Rails and RSpec 2

The autotest tool is now configured to automatically detect and use the Rails and RSpec 2 frameworks for test discovery, ensuring that test runs are correctly scoped to these technologies.

autotest · high confidence

Admin and storefront frontend rewritten with Stimulus controllers

The frontend JavaScript has been replaced with a suite of Hotwired Stimulus controllers to modernize the admin and storefront interfaces. This change introduces interactive components including autocomplete search, cart quantity updates, sortable tables, image galleries, and slide-over panels, while also adding specific controllers for fulfillment management, variant selection, and navigation state persistence.

app/javascript · high confidence

Admin area restructured with new base controller and user management features

The admin interface has been reorganized around a new Admin::BaseController that enforces access checks and provides a session-based history of the last 10 visited user profiles. A dedicated Admin::HelpController has been added to serve documentation, while the Admin::OverviewsController now handles initial setup logic for creating the first super-admin user when none exist. User management is handled by Admin::UsersController, which allows administrators to view, create, and edit users with role assignments, utilizing strong parameters for secure mass-assignment protection.

app/controllers/admin · high confidence

Admin checkout summary now displays tax and credit details

The admin checkout interface now includes a dedicated right-panel summary that provides a detailed breakdown of the order costs. In addition to the standard item list, sub-total, shipping, coupons, and promotions, this view explicitly displays the calculated tax amount and any available account credits, ensuring administrators can verify the final credited total before completing the checkout.

app/views/admin/shopping/checkout · high confidence

Admin countries management now supports shipping zones and active/inactive status

The admin interface for managing countries has been updated to allow assigning a shipping zone to each country via a new dropdown in the edit form. Additionally, countries can now be toggled between active and inactive states directly from the index page, with a dedicated selector to activate countries and inline links to deactivate them. The index view now displays the assigned shipping zone and the current active status for each country.

app/views/admin/config/countries · high confidence

Admin tax rate management now supports state-level granularity

The admin interface for managing tax rates has been updated to allow configuration based on specific states rather than just countries. When the system is configured for state-based taxation (via the \tax\_per\_state\_id\ setting), the new form and index views present a Country selector followed by a State selector, and the tax rate list displays the associated state name. This change enables administrators to define precise tax percentages for individual states, while still supporting country-level tax rates when state granularity is not enabled.

_app/views/admin/config/tax\rates · high confidence

Extracted product filtering, search, and user management logic into reusable concerns

This change introduces four new modules in app/models/concerns to centralize and reuse common model behaviors. ProductFilters provides a composable chain of filters for the admin product grid, handling criteria like name, type, shipping category, availability dates, and deletion status. ProductSearch integrates Searchkick for Elasticsearch-based product search with a fallback to SQL LIKE queries if the search service is unavailable, and includes a fix to prevent class-name leakage in Searchkick's model options. UserCim implements Customer Information Management (CIM) profile handling for recurring billing, managing the creation, updating, and deletion of customer profiles via a payment gateway. UserEmailer standardizes the delivery of activation and password-reset emails, supporting both background job queuing (Resque) and direct delivery.

app/models/concerns · high confidence

Initial application configuration and core extensions

This change introduces a comprehensive set of initializers that establish the application's foundational behavior. It configures asset pipelines for Dart Sass and standard paths, sets up AWS S3 storage and SendGrid email delivery for Heroku, and enables background job processing via Resque with basic authentication. The application now exposes its version and git revision, enforces the presence of encryption and payment keys via settings checks, and extends core Ruby classes (Date, Float, String) with utility methods for age calculation, rounding, and text cleaning. Additionally, it configures FriendlyId for URL slugs, Pagy for pagination, and defines default application settings.

config/initializers · high confidence

Introduce Rails 8 environment configurations with S3 asset hosting and Authorize.Net payment gateways

The application now uses new configuration files for development, test, and production environments aligned with Rails 8. In production, static assets are served from Amazon S3 via the FOG\_DIRECTORY environment variable, and the Active Storage service is set to 'amazon'. Payment processing is configured to use Authorize.Net (both standard and CIM gateways) in both development and production modes, while the test environment uses a bogus gateway. Development mode enables code reloading and local asset serving, whereas production enforces SSL and caching.

config/environments · high confidence

New admin backend styling with Foundation and Normalize

The admin interface now uses a new set of SCSS stylesheets (app/assets/stylesheets/admin) that integrate the Foundation 3 framework and Normalize.css v2.1.0. This change introduces a redesigned visual layout for admin pages, including specific styles for product names, filters, cart panels, and help sections, while ensuring consistent cross-browser rendering for HTML5 elements and typography.

app/assets/stylesheets/admin · high confidence

New admin interface for managing shopping products

The admin area for shopping products has been replaced with a new UI. The product listing page now features a search form filtering by name and product type, alongside a sortable table displaying product name, availability, type, and price range. The product editing page allows administrators to add stock by entering quantities for each variant, with inline controls to increment or clear values and a submit button that activates only when quantities are provided.

app/views/admin/shopping/products · high confidence

New admin interface styles added

A new set of SCSS stylesheets has been added to the \app/assets/stylesheets/admin\_new\ directory to support a redesigned admin area. This includes a comprehensive design system with CSS variables for colors, spacing, and typography, along with component styles for the layout (sidebar, topbar, base), UI elements (buttons, cards, forms, tables, autocomplete, flash messages), and utility classes.

_app/assets/stylesheets/admin\new · high confidence

New admin shopping cart workflow

The admin interface now features a dedicated shopping cart system for managing orders on behalf of customers. Administrators can select a customer, browse and add products (including variants) to a session-based cart, update quantities, remove items, and proceed through a guided checkout flow. This replaces the previous admin cart implementation with a new controller structure (BaseController, CartItemsController, CartsController, ProductsController, UsersController) that leverages Turbo Streams for interactive updates and FriendlyId for product lookups.

app/controllers/admin/shopping · high confidence

New admin user selection interface with search and sorting

The admin shopping area now features a dedicated user selection page that allows administrators to search for users by first name, last name, or email, and sort the resulting list by name. The interface displays user status and uses pagination for navigation, replacing the previous implementation that relied on jqGRID.

app/views/admin/shopping/users · high confidence

New customer password reset UI

The customer-facing password reset flow now uses a redesigned interface. Users requesting a reset see a new form to enter their email, and upon submission, receive a confirmation message. When resetting their password, users are presented with a form requiring both a new password and its confirmation, with improved styling and error handling.

_app/views/customer/password\resets · high confidence

New dedicated controller for editing product descriptions

A new controller (Admin::Merchandise::Products::DescriptionsController) has been added to handle the editing and updating of product descriptions. This change introduces a specific workflow for managing the \description\_markup\ field, allowing admins to edit product descriptions independently via a dedicated edit/update flow.

app/controllers/admin/merchandise/products · high confidence

New product creation wizard with brand and property support

The admin merchandise interface now uses a new wizard workflow for creating products. This update introduces a dedicated form that captures core product details (name, permalink, keywords, meta data) alongside new fields for selecting a Brand, Product Type, and Shipping Category. It also includes a section for managing product properties, allowing admins to assign descriptions to specific attributes. A new sub-header navigation component provides quick links to related administrative resources like brands and product types.

app/views/admin/merchandise/wizards/products · high confidence

New storefront design system and UI components

The storefront now uses a new Tailwind CSS configuration that defines a specific color palette (including accent, sale, and CTA colors), typography settings, and layout constraints. This change introduces reusable UI components for buttons (dark, accent, white, ghost, link), section headers, and product cards, along with animations for flash messages, establishing the visual foundation for the storefront frontend.

app/assets/tailwind · high confidence

New sub-header navigation for merchandise management

A new sub-header component has been added to the admin merchandise views, providing a consistent navigation bar for managing individual products. This bar includes links to Description, Images, Product details, Properties, Variants, and Inventory adjustments. To help users identify incomplete product data, the links for Description, Images, Properties, and Variants are displayed in red if the corresponding data is missing (blank description, no images, no properties, or no variants).

app/views/admin/merchandise · high confidence

Redesign of admin and storefront layouts with Tailwind CSS and modern UI components

The application's view layouts have been completely rewritten to adopt a modern design system. The storefront (application and welcome layouts) now uses Tailwind CSS, featuring a sticky, dismissible flash message system, a dedicated welcome header, and structured main content areas. The admin interface has been overhauled with a new sidebar navigation, a top bar, and support for a two-column layout with a sidebar panel. A new partial for product search has been added, utilizing Tailwind classes and an SVG icon. Additionally, the email layout has been simplified to a basic HTML structure. These changes affect the visual presentation and structural organization of the user interface across the admin panel, public storefront, and email notifications.

app/views/layouts · high confidence

Redesigned My Account address, credit card, and store credit views

The My Account section now features a modernized user interface for managing addresses, credit cards, and store credits. The address form has been rebuilt to support conditional logic for state/province and country selection, allowing users to set a default shipping address and view validation errors clearly. The credit card management area provides a table view for listing stored cards with options to add, edit, or remove them. Additionally, the store credits page now displays the user's current credit balance. All these views utilize a consistent, responsive design system with improved styling and navigation.

app/views/myaccount/addresses · high confidence

Redesigned address management interface with conditional form fields

The shopping address views have been completely rewritten to use a modern, responsive layout. The address form now conditionally displays fields based on configuration: it requires a state/province if the \require\_state\_in\_address\ setting is enabled, automatically selects the country if only one is available, or allows country selection otherwise. The index page now displays saved addresses in a card grid with options to set a default, edit, or delete them, and includes a link to the order summary if the current session is ready for checkout.

app/views/shopping/addresses · high confidence

Redesigned admin RMA interface with improved workflow and order context

The admin Return Merchandise Authorization (RMA) views have been completely rewritten to provide a more structured and user-friendly experience. The new layout includes a sub-header for quick navigation to order details and other RMAs associated with the same order. The creation and editing forms now feature a cleaner design with explicit fields for amounts, restocking fees, and nested return items, allowing admins to specify return conditions and reasons for each item. The index view offers a sortable, paginated table of RMAs with search filters, while the show view presents RMA and order details in distinct cards, highlighting the RMA state and providing clear action buttons to cancel or receive the RMA. This change improves the overall usability and visual consistency of the admin RMA management area.

app/views/admin/rma · high confidence

Redesigned admin fulfillment order interface with shipment creation and invoice management

The admin fulfillment orders view has been completely rewritten to provide a more structured workflow for managing orders. Administrators can now view a list of orders with search filters, and on the individual order page, they can see detailed order items, shipping addresses, and associated invoices. The interface allows for creating new shipments for paid orders (both for the entire order or individual items) and managing invoice states, including capturing or canceling authorized charges. It also displays existing shipment details and provides links to manage Return Merchandise Authorizations (RMAs).

app/views/admin/fulfillment/orders · high confidence

Redesigned admin interface for merchandise properties

The admin section for managing merchandise properties has been updated with a new UI. The index page now features a data table with sortable columns for the identifying name, display name, and active status, along with search filters for identifying and display names. The new and edit forms have been restyled using card-based layouts and include input fields for both the identifying name (used internally, e.g., 'shirt-color') and the display name (shown to customers, e.g., 'color').

app/views/admin/merchandise/properties · high confidence

Redesigned admin product management interface

The admin interface for managing merchandise products has been completely rewritten to use a modern card-based layout with improved form controls and navigation. The new product creation and editing forms now include fields for brand selection, search keywords, meta information, and prototype-based properties. The product index page features a dedicated search sidebar for filtering by name and product type, along with a link to a new product wizard. The product show page provides a comprehensive overview including active status controls, shipping zone details, property listings, variant tables, and image galleries, replacing the previous UI with a cleaner, more structured experience.

app/views/admin/merchandise/products · high confidence

Redesigned admin shipment management interface

The admin fulfillment views for shipments have been completely rewritten to use a modern card-based layout with improved navigation and information density. The new interface displays shipment details, order items, and customer information in distinct sections, allows editing tracking numbers directly, and includes a dedicated area for adding notes to orders. The index page now links to the parent order using the order number, and the new shipment creation flow provides a clear overview of order items, shipping address, and existing invoices.

app/views/admin/fulfillment/shipments · high confidence

Redesigned admin user management interface

The admin area for managing users has been completely overhauled with a new layout and styling. The user index now features a dedicated sidebar for filtering by name and email, alongside a sortable data table. The new user creation and editing forms have been consolidated into a shared partial, standardizing the input fields for name, email, and state, while restricting password changes and role assignments to super-admins. The user detail view has been expanded to provide a comprehensive dashboard, displaying sections for orders, shipments, addresses (with add/edit capabilities), return authorizations, and customer service notes.

app/views/admin/users · high confidence

Redesigned login and registration interface

The user login and signup experience has been updated with a modern, two-column layout that places the login form and new user registration side-by-side on larger screens. The login form now includes a 'Forgot password?' link for account recovery, and both forms utilize HTML5 email fields for better mobile input handling. Error messages for both session and user validation are displayed prominently at the top of the page, and required fields in the registration form are clearly marked with asterisks.

_app/views/user\sessions · high confidence

Redesigned product browsing and detail pages with modern UI

The product listing page now displays items in a responsive grid with pagination, showing stock status ribbons and price ranges. The product detail page features a new image gallery with thumbnails, a variant selector that updates the price and add-to-cart form, and tabbed sections for description and properties. It also includes stock-out notifications for logged-in users. The welcome page has been updated with a hero section and a featured products area.

app/views/products · high confidence

Redesigned product description editing interface

The product description edit page has been completely redesigned with a new UI layout and the integration of the MarkItUp editor for the description field. The new interface features a structured card-based layout with a sub-header, clear page actions, and a dedicated form for updating the product name and markup description, replacing the previous implementation.

app/views/admin/merchandise/products/descriptions · high confidence

Redesigned product image management interface

The admin interface for managing product images has been redesigned with new views for the product image list and editing forms. Administrators can now view attached images with thumbnails, adjust image position and caption, upload new photos, or provide a link to an external image. The edit form supports adding multiple images dynamically and includes validation error display, while the show page provides a clear overview of existing images with quick links to edit or view product details.

app/views/admin/merchandise/images · high confidence

Redesigned shopping cart and saved items interface

The shopping cart page has been completely restyled with a modern, responsive layout using Tailwind CSS utility classes. The main cart view now displays items in a horizontal card format featuring product images, variant details, and inline quantity editing, with 'Update' and 'checkout' actions available. A new 'Saved for Later' section has been introduced, allowing users to move items out of their active bag and retrieve them later, with distinct UI states for empty carts and carts containing only saved items.

_app/views/shopping/cart\items · high confidence

Restructured checkout flow with dedicated controllers for addresses, shipping, and coupons

The shopping checkout experience is now managed by a set of new, dedicated controllers (Addresses, BillingAddresses, ShippingMethods, Coupons, CartItems, Orders) that replace the previous monolithic logic. Users will see a more structured checkout process where shipping and billing addresses are handled separately, shipping rates are calculated based on the selected address and product categories, and coupon codes can be applied and validated during the order summary step. The base controller now orchestrates the checkout state machine, ensuring users are guided through required steps (address, shipping, billing, payment) and preventing checkout if cart items have changed since the order was initiated.

app/controllers/shopping · high confidence

Storefront styling migrated to Tailwind CSS

The customer-facing storefront has switched from the previous SCSS-based styling system to Tailwind CSS. This change is reflected in the new \app/assets/stylesheets/application.scss\ file, which now serves as a placeholder noting that styles are handled by \app/assets/tailwind/application.css\. The legacy SCSS files (such as \product\_page.scss\, \login.scss\, and \chosen.scss\) remain in the repository but are no longer the primary source for storefront presentation.

app/assets/stylesheets · high confidence

Updated test setup rules for Rails 8.1 and Searchkick integration

The test setup guidelines have been updated to reflect the migration to Rails 8.1 and the addition of Searchkick for product search. Users must now ensure MySQL and Elasticsearch are running before executing specs, and must build assets using \dartsass:build\ due to the switch to Propshaft. The entry also documents critical behavioral changes for Rails 8.1, including the deprecation of \be\_success\ in favor of \be\_successful\, the requirement to merge arguments in \number\_field\ helpers, and the deprecation of \raise\_on\_open\_redirects\. Additionally, it clarifies that the test suite relies on specific seed data for various lookup tables and uses DatabaseCleaner with transactional fixtures disabled.

.cursor · high confidence

Upgrade to Rails 8.1 and modernize configuration

The application has been upgraded to Rails 8.1, with \config.load\_defaults 8.1\ set in \config/application.rb\. This update includes legacy overrides for Rails 4/5 compatibility, such as disabling the default \belongs\_to\ presence validation and configuring open redirect handling. The configuration structure has been modernized to use environment variables for sensitive data (AWS credentials, AuthNet, encryption keys) across \config/aws.yml\, \config/storage.yml\, and \config/settings.yml\. New configuration files have been added to support the Rails 8 asset pipeline (Importmap, Cable, Storage) and database adapters (MySQL, SQLite3, Docker).

config · high confidence

Test coverage

Added comprehensive test coverage for core commerce models; Added comprehensive test factories for core domain models; Added controller specs for Admin History addresses and orders; Added controller specs for My Account sections; Added controller specs for admin address, referral, and store credit management; Added controller specs for admin checkout components; Added controller specs for admin configuration resources; Added controller specs for admin inventory management; Added controller specs for admin merchandise resources; Added controller specs for admin reports; Added controller specs for core application features; Added controller specs for shopping checkout flow; Added controller specs for the admin merchandise product wizard; Added controller tests for Admin Document Invoices; Added controller tests for Admin Shopping Users; Added controller tests for admin RMA return authorizations; Added controller tests for admin coupons, deals, and sales; Added controller tests for admin customer service comments; Added controller tests for admin help and users; Added controller tests for admin merchandise image products; Added controller tests for admin merchandise property changes; Added controller tests for multi-variant merchandise management; Added controller tests for partial shipment fulfillment; Added controller tests for product description management; Added request specs for admin overview access control; Added routing specs for admin and myaccount controllers; Added test coverage for admin fulfillment comments controller; Added test coverage for customer activation and password reset flows; Added unit and integration tests for JavaScript controllers and Rails admin; Initial RSpec test suite configuration; New test support helpers for user roles, carts, and database truncation.

Dependencies

Upgrade to Rails 8.1 and Ruby 3.3

The application has been upgraded to Rails 8.1.0 and Ruby 3.3.8, bringing modern performance and security improvements. The asset pipeline has shifted from the legacy Sprockets approach to the new Rails stack, utilizing Propshaft for assets, Importmap for JavaScript, Dartsass for CSS, and Tailwind CSS for styling, alongside Turbo and Stimulus for enhanced interactivity. Additionally, the database driver has been updated to Trilogy for MySQL connectivity, and several core gems like Authlogic, Cancancan, and ActiveMerchant have been updated to their latest compatible versions.

(dependencies) · high confidence

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

How this codebase got here

Baseline

  • First survey — no prior run to compare against. CAI 41.

Lenses

  • Code Health 70
  • Architecture 81
  • Maturity 58
  • Readiness 32
  • Security 49
  • Domain Modelling 48
  • Accessibility 42

Changes since last survey

  • 300 commits — 277 feature/other, 23 fixes

By area

  • (root) — 78 commits
  • app/models — 45 commits
  • app/views — 41 commits
  • (repo) — 38 commits
  • app/controllers — 38 commits
  • app/assets — 9 commits
  • spec/models — 8 commits
  • spec/controllers — 7 commits
  • config/environments — 6 commits
  • db/seeds.rb — 5 commits
  • config/routes.rb — 2 commits
  • db/schema.rb — 2 commits
  • db/seed — 2 commits
  • spec/requests — 2 commits
  • spec/spec_helper.rb — 2 commits
  • spec/support — 2 commits
  • vendor/assets — 2 commits
  • config/application.rb — 1 commit
  • config/asset_sync.yml — 1 commit
  • config/database.yml.sqlite3 — 1 commit

Notable commits

  • fix: Fix broken Markdown headings
  • fix: Fix properties not saved issue when edit variants.
  • fix: Fix tests
  • fix: Fixed wrong env key on readme
  • fix: Prepare codebase for Rails 7: fix deprecated APIs and remove dead code
  • fix: bug at end of month (at few hours) displaying reports
  • fix: bug creating purchase order
  • fix: bug fixes mostly passing
  • fix: bugs and storefront frontend finshing touches
  • fix: deprecated method bug
  • fix: fix .inactivate in variants
  • fix: fix UI in Firefox
  • fix: fix config link in admin overview
  • fix: fix form... rails bug???
  • fix: fix hiding CSS
  • fix: fix js
  • fix: fix race condition for adjusting inventory
  • fix: fix seed data to conform to changed schema (removed brand on variant)
  • fix: fix signup_notification
  • fix: fix test
  • …and 280 more

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

Survey your own repository

drhenner/ror_ecommerce was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.

About this page

  • The score is its most recent published measurement, taken on 20 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit 6139e268919b7f6a381a6b6e2c7caef8f322e50d — the exact code this score is about.
  • Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-b51f968c9b10.