Skip to content

Commit 429aa6e

Browse files
committed
Feature/Updated SDK dependencies and improved README documentation
* Contracts upgraded to v3.0.0 * Domain Model upgraded to v5.0.0
1 parent b3a5d35 commit 429aa6e

4 files changed

Lines changed: 83 additions & 35 deletions

File tree

.github/workflows/test.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@ name: Test
22

33
on:
44
push:
5-
branches:
6-
- main
5+
branches: [ 'main' ]
76
pull_request:
8-
types: [opened, synchronize, reopened]
7+
types: [ 'opened', 'synchronize', 'reopened' ]
8+
99

1010
jobs:
1111
test:

README.md

Lines changed: 77 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,82 @@
11
# Complex Heart PHP SDK
22

33
[![Test](https://github.com/ComplexHeart/php-sdk/actions/workflows/test.yml/badge.svg)](https://github.com/ComplexHeart/php-sdk/actions/workflows/test.yml)
4+
[![License](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](LICENSE)
5+
[![PHP Version](https://img.shields.io/badge/php-%5E8.2-blue)](https://www.php.net/)
46

5-
Provide a set of useful classes and tools to ease the adoption of Domain Driven
6-
Design into your project.
7+
An SDK for building Domain-Driven Design (DDD) applications in PHP. This metapackage bundles the essential Complex Heart libraries to provide a complete toolset for implementing DDD patterns with value objects, entities, aggregates, and flexible query criteria.
78

8-
- [Contracts](https://github.com/ComplexHeart/php-contracts): Commons interfaces
9-
to decouple some parts of the Domain.
10-
- [Data Model](https://github.com/ComplexHeart/php-domain-model): Aggregates,
11-
Entities and Value Objects.
12-
- [Criteria](https://github.com/ComplexHeart/php-criteria): Small implementation
13-
of a criteria pattern in PHP for Complex Heart SDK.
9+
## Overview
10+
11+
The Complex Heart SDK is designed to ease the adoption of Domain-Driven Design principles in PHP projects by providing well-tested, production-ready components that handle common DDD patterns and challenges.
12+
13+
## Features
14+
15+
This SDK includes three core packages:
16+
17+
- **[Contracts](https://github.com/ComplexHeart/php-contracts)** - Common interfaces and contracts to decouple domain logic from infrastructure concerns
18+
- **[Domain Model](https://github.com/ComplexHeart/php-domain-model)** - Base classes and utilities for building Aggregates, Entities, and Value Objects
19+
- **[Criteria](https://github.com/ComplexHeart/php-criteria)** - Flexible query pattern implementation for building type-safe, repository-agnostic queries
20+
21+
## Requirements
22+
23+
- PHP ^8.2
24+
- ext-json
25+
26+
## Installation
27+
28+
Install via Composer:
29+
30+
```bash
31+
composer require complex-heart/sdk
32+
```
33+
34+
This will install all three packages and their dependencies.
35+
36+
## What's Included
37+
38+
### Contracts Package
39+
Provides foundational interfaces for:
40+
- Value Objects
41+
- Entities and Aggregates
42+
- Domain Events
43+
- Repositories
44+
- Services
45+
46+
### Domain Model Package
47+
Offers base implementations for:
48+
- Value Objects with validation and immutability
49+
- Entities with identity management
50+
- Aggregate roots with domain event handling
51+
- Rich domain behaviors
52+
53+
### Criteria Package
54+
Enables flexible querying with:
55+
- Type-safe query building
56+
- Filtering, ordering, and pagination
57+
- Repository-agnostic design
58+
- Composable query specifications
59+
60+
## Documentation
61+
62+
For detailed documentation on each package, please visit:
63+
64+
- [Contracts Documentation](https://github.com/ComplexHeart/php-contracts#readme)
65+
- [Domain Model Documentation](https://github.com/ComplexHeart/php-domain-model#readme)
66+
- [Criteria Documentation](https://github.com/ComplexHeart/php-criteria#readme)
67+
68+
## License
69+
70+
This project is licensed under the Apache License 2.0 - see the [LICENSE](LICENSE) file for details.
71+
72+
## Contributing
73+
74+
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
75+
76+
## Support
77+
78+
If you encounter any issues or have questions:
79+
80+
- Open an issue on [GitHub Issues](https://github.com/ComplexHeart/php-sdk/issues)
81+
- Check existing issues and discussions
82+
- Review the documentation for each individual package

composer.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "complex-heart/sdk",
3-
"description": "Domain model toolset to properly build Value Objects, Entities, Aggregates and Services.",
3+
"description": "SDK for Domain-Driven Design that provides framework-agnostic abstractions, allowing you to focus on business logic.",
44
"type": "library",
55
"license": "Apache-2.0",
66
"authors": [
@@ -13,8 +13,8 @@
1313
"require": {
1414
"php": "^8.2",
1515
"ext-json": "*",
16-
"complex-heart/contracts": "^2.0.0",
17-
"complex-heart/domain-model": "^4.0.0",
16+
"complex-heart/contracts": "^3.0.0",
17+
"complex-heart/domain-model": "^5.0.0",
1818
"complex-heart/criteria": "^4.0.0"
1919
}
2020
}

phpunit.xml

Lines changed: 0 additions & 21 deletions
This file was deleted.

0 commit comments

Comments
 (0)