Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/vikt0r7/ddd
Test task
https://github.com/vikt0r7/ddd
Last synced: about 2 months ago
JSON representation
Test task
- Host: GitHub
- URL: https://github.com/vikt0r7/ddd
- Owner: vikt0r7
- Created: 2023-02-05T23:09:36.000Z (almost 2 years ago)
- Default Branch: master
- Last Pushed: 2023-02-06T20:00:03.000Z (almost 2 years ago)
- Last Synced: 2024-02-05T18:44:02.683Z (11 months ago)
- Language: PHP
- Size: 11.7 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Project Name
Test task
## Getting Started
Domain:
- Domain Layer: This layer contains the core business logic and the entities that represent the problem space. It should not depend on any external components, such as databases or frameworks.
- Entities: These are classes that represent the fundamental concepts of the domain. For example, the Account and Transaction entities.
- Value Objects: These are objects that represent values in the domain but have no identity. For example, AccountNumber, Comment, Amount.
- Aggregates: Aggregates are groups of related entities that are treated as a single unit for the purpose of data changes. For example, the Account entity with its associated Transaction entities.
- Services: Services are classes that contain business logic that does not naturally fit into an entity or value object. For example, the AccountService class.
- Repositories: Repositories are classes that handle the persistence of aggregates. For example, the TransactionRepository class.Infrastructure:
- Infrastructure Layer: This layer contains the implementation details of the infrastructure required by the application. For example, database connections and web services.
- Adapters: Adapters are classes that provide a bridge between the application and external systems. For example, a database adapter class.
- Implementations: Implementations are classes that provide concrete implementations for the repositories, services, and adapters.Application:
- Application Layer: This layer contains the application's use cases and its interactions with the domain and infrastructure layers. It is responsible for orchestrating the activities of the domain and infrastructure layers.
- Use Cases: Use cases are classes that represent the application's interactions with the user. For example, the TransactionApplicationService class.### Requirements
- Docker
- Docker Compose### Installing
A step by step installation:
1. Clone the repository
2. Install dependencies
## Built With
* [PHP](https://www.php.net/) - The programming language used
## Authors
* **Viktor** - *Initial work* - [My Github Profile](https://github.com/vikt0r7)
## License
This project is licensed under the MIT License - see the [LICENSE.md](https://github.com/your-username/your-project-name/blob/master/LICENSE) file for details.