Note : Aggregate is a specific DDD term, and should not be confused with the aggregate design pattern. A DDD aggregate is a cluster of domain objects that can be treated as a single unit. Entities and Value objects can be grouped into aggregates. Aggregates can simplify the model by accessing the entire aggregate. For instance, Table has lots of rows. Each row using the table_id to reference to the table. TableAggregate includes two entities: Table and the Row.
cloned repo (git)
This is the clone that you create on your local machine.
local repo (git)
The repository that is on your machine. A synonum of cloned repo.
Entities are plain objects that carry an identity which allows us to reference them. e.g. user, order, book, etc. You use entities to express your business model and encapsulate them into Factory that provides a simple API to create Entities.
forked repo, fork (git)
An instance of a repository in your GitHub account that was created by using the forking mechanism.
This is name of the git repository instance which is in your GitHub account. A repository in your account may have been created by you, or you may have forked it.
A synonym for repository.
Repositories offer an interface to retrieve and persist aggregates and entities. They hide the database or network details from the domain.
Repository interfaces are declared in the Domain Layer, but the repositories themselves are implemented in the Infrastructure Layer. You can replace the interface implementation without impacting the domain layer.
When a significant process of transformation in the domain is not a natural responsibility of an Entity or Value object, add an operation to the model as standalone interface declared as a Service. For instance: The Value object EmailAddress uses the function validateEmailAddress to verify if the email address is valid or not. Services exist in the Application, Domain and Infrastructure layers.
This is the name of the original project's repository which is located in their GitHub account.
Value Object can't be referenced. They can be only included into entities and serve as attributes. Value objects should be simple and treated as immutable. e.g. email, phone number, name, etc.