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
- The User Sub-System
- The Payment Sub-System
- The Inventory Sub-System
- The Shipments Sub-System
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.gSolidus::Gateway::Braintree
).Spree::PaymentMethod
- An abstract class which is implemented most commonly as aSpree::Gateway
.Spree::Gateway
- A concrete implementation ofSpree::PaymentMethod
intended to provide a base for extension. See https://github.com/solidusio/solidus_gateway/ for offically supported payment gateway implementations.Spree::CreditCard
- The defaultsource
of aSpree::Payment
.
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