Data Modeling

Data modeling is where we begin.

Introduction

Data modeling is the fundamental function of Streams Core. The rest of the platform builds upon streams' data and structure.

Domain Information

The Streams platform leans heavily on domain-driven design (DDD). We call these domain abstractions streams, hence our namesake.

An example could be configuring a domain model (a stream) for a website's pages, users of an application, or feedback submissions from a form. Anything anywhere can be defined by a stream.

Data Sources

If not configured otherwise, streams will utilize the built-in flat-file database. All databases available to Laravel are supported as well.

Domain Entities

Domain entities are called entries within the Streams platform. A stream also defines entry attributes, or fields, that dictate the entry's properties, data-casting, and more.

Managing Entities

The Streams platform separates methods to retrieve and store entries from the entry objects themselves, less a few convenient functions like save and delete, by using a repository pattern.