Data Model - shifatullah/ShoeStore GitHub Wiki

Common (shared by all bounded contexts)

AuditInfo  (value object)
	CreationOn
	CreatedBy
	ModifiedOn
	ModifiedBy
	DeletedOn
	DeletedBy
	
AddressInfo (value object)
	AddressLine1
	AddressLine2
	Suburb
	State
	PostCode

Admin Bounded Context (internal/private/very secured)

User (aggregate root)
	Id		
	FirstName
	LastName
	EmailAddress
            MobilePhone
            LoginName
            PasswordHash
            Photo (byte[])

Products Bounded Context (internal/private)

Asset (asset aggregate root - TPT inheritance strategy)
	Id
	Name
	AuditInfo

ImageAsset (asset entity)
	AssetId
	Size (Small 100 x 100, Medium 640 x 640, Large 800 x 800)
	
VideoAsset (asset entity)
	AssetId

Catalogue  (catalogue aggregate root)
	Id
	Name
	State (Draft/Published)
	PublishedOn
	AuditInfo
	
Category (category aggregate root)
	Id (hierarchicalid datatype)
	Name (unique under parent category)
	Slug
	ParentCategoryId (hierarchicalid datatype)
	Rank
	AuditInfo
	
Product (product aggregate root)
	Id
	Name
	Code
	Rank
	ShortDescription
	LongDescription
	Cost
	Stock
	CategoryId (hierarchicalid datatype)
	AuditInfo

CatalogueProduct (catalogue entity)
	CatalogueId
	ProductId
	AuditInfo

ProductPrice (product entity)		
	ProductId
	Price
	StartDate
	EndDate

ProductAsset (product entity)		
	Name
	ProductId
	Type (Thumbnail, Product Page, Zoom)
	AssetId
	AuditInfo

Listing Bounded Context (public)

CategoryListing
	Id (hierarchicalid datatype)
	ParentCategoryListingId
	CategoryData (json datatype)
	
ProductListing
	Id
	ProductData (json datatype)
	Code (virtual column)
	CategoryId (virtual column)

Basket Bounded Context (public)

Session (session aggregate root)
	Id
	UserIP
	UserAgent
	BasketId
	AuditInfo

Basket (basket aggregate root)
	Id
	FirstName
	LastName
	MobileNumber
	PhoneNumber
	EmailAddress
	BillingAddressInfo
	ShippingAddressInfo
	ShippingTotal
	TaxTotal
	SubTotal
	OrderTotal
	Status (Created/ProductSelected/Booked/Shipped)
	AuditInfo
	
BasketItem (basket entity)
	Id
	BasketId
	ProductCode
	Cost
	Price
	Quantity
	TotalPrice
	AuditInfo