Store Design Principles
Private Types & Public Interfaces
All entity structs are private, while public interfaces define the contract for interaction. This enforces encapsulation and enables easy testing and extension.
DataObject Embedding
Entities embed a DataObject for generic storage, hydration, and serialization, reducing boilerplate and improving consistency.
SQL Schema & Portability
Stores use SQL builders like Goqu to support multiple databases (SQLite, MySQL, PostgreSQL) and provide an AutoMigrate method for schema management.