Summary

Solidus Core provides the essential e-commerce data models upon which the Solidus system depends.

Core Models

Solidus implements over 200 models, and thus a deep inspection of each in this README would be overkill. Instead, let's take a quick look at the fundamental models upon which all else depend. Currently, these models remain in the Spree namespace as part of the legacy of forking Spree.

NOTE: Documentation is a work in progress

The documentation of Solidus Core is still in progress. Contributions following this form are welcome and encouraged!

The Order Sub-System

  • Spree::Store - Records store specific configuration such as store name and URL.

  • Spree::Order - The customers cart until completed, then acts as permenent record of the transaction.

  • Spree::LineItem - Variants placed in the order at a particular price.

The User Sub-System

  • Spree::LegacyUser - Default implementation of User.

  • Spree::UserClassHandle - Configuration point for User model implementation.

  • solidus_auth_devise - An offical, more robust implementation of a User class with Devise integration.

The Payment Sub-System

  • Spree::Payment - Manage and process a payment for an order, from a specific source (e.g. Spree::CreditCard) using a specific payment method (e.g Solidus::Gateway::Braintree).

  • Spree::PaymentMethod - A base class which is used for implementing payment methods.

  • Spree::PaymentMethod::CreditCard - An implementation of a Spree::PaymentMethod for credit card payments. See github.com/solidusio/solidus_gateway/ for officially supported payment method implementations.

  • Spree::CreditCard - The source of a Spree::Payment using Spree::PaymentMethod::CreditCard as payment method.

The Inventory Sub-System

  • Spree::ReturnAuthorization - Models the return of Inventory Units to a Stock Location for an Order.

  • Spree::StockLocation - Records the name and addresses from which stock items are fulfilled in cartons.

  • Spree::InventoryUnit - Tracks the state of line items' fulfillment.

  • Spree::ShippingRate - Records the costs of different shipping methods for a shipment and which method has been selected to deliver the shipment.

  • Spree::ShippingMethod - Represents a means of having a shipment delivered, such as FedEx or UPS.

The Shipments Sub-System

  • Spree::Shipment - An order's planned shipments including tracking and cost. Shipments are fulfilled from Stock Locations.

Developer Notes

Testing

Create the test site

bundle exec rake test_app

Run the tests

bundle exec rake spec