Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

proposal #642

Open
wants to merge 49 commits into
base: release
Choose a base branch
from
Open

proposal #642

wants to merge 49 commits into from

Conversation

AntonioFalcaoJr
Copy link
Owner

  • Please check if the PR fulfills these requirements
  • The commit message follows our guidelines
  • Tests for the changes have been added (for bug fixes / features)
  • Docs have been added / updated (for bug fixes / features)
  • What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)

  • What is the current behavior? (You can also link to an open issue here)

  • What is the new behavior (if this is a feature change)?

  • Does this PR introduce a breaking change? (What changes might users need to make in their application due to this PR?)

  • Other information:

This revision removes several unused interfaces and classes in the shopping cart command, particularly under the Application and Domain namespaces. This clean-up action includes gateways, interactors, services, and conceptual abstractions.
Removal of the query-side service is implemented along with any related class files. This includes service classes managing shopping cart interactivity, project details when cart changes, interactions with shopping items, and event bus options amongst others. Removing these files resulted in a leaner codebase, possibly as part of a refactoring process to simplify the overall application structure.
Removed all files and code related to the old message bus infrastructure to avoid confusion and redundancy. This specifically includes classes and interfaces related to commands, events, consumers, observers and service setup among others. This cleanup is part of the effort to transition to a new event bus infrastructure.
This commit significantly simplifies dependency injection across consumers, interactors, and filters by initializing dependents directly in their constructors. With this cleaner approach, the readability is improved and the complexity of managing and tracing dependencies is reduced. It also updates the way Serilog configurations are set up in `GrpcService/Program.cs` and replaces the Contracts.Services.Account namespace with Contracts.Boundaries.Account across multiple files.
This commit eliminates the Catalog Command application, including all underlying service abstractions, gateways, interactors, and related code. This major removal is reflected in the deletion of numerous command interactors, application services, gateways, and other associated interfaces and classes. Necessary changes were made in the domain layer to comply with this removal.
This commit deletes unused code related to the Catalog Query Service, including interactors and project files. The removed files were associated with various catalog functionalities like listing items and event interactions, but were found to be unused. This cleanup helps to reduce the overall complexity of the codebase.
This commit introduces a new gRPC service for Catalog command operations. It includes the definition of several server-side message handlers, such as CreateCatalog, DeleteCatalog, and ActivateCatalog. Additionally, changes to the integration layer were made to enable the new gRPC service to interact with the current application's infrastructure, including the event store and event bus. A new migration for the event store database was also included.
The commit removes the unnecessary application service classes and interfaces. This includes deleting abstract base classes for aggregates and entities, service interfaces, interactors, embedded resources, validators and other related classes. This cleanup simplifies the codebase structure and refactors the code to create a more streamlined architecture.
Deleted code files and configurations related to Application and GrpcService in the Communication Query module. The abolition involves interfaces, classes, services and related dependencies. This modification is part of a larger effort to streamline and refactor the application as per new architectural decisions.
The Infrastructure.MessageBus module was completely removed due to redesign and refactoring of the message handling mechanism. This involved deleting several classes, interfaces, extensions, and project configurations which were no longer needed. This change aims to simplify the system's structure and improve the efficiency of the message handling processes.
This commit makes several changes across the code base. The main improvement is refactoring coding constructions to use properties instead of fields, reducing the verbosity and improving code readability. Also, dependencies are now used more directly, eliminating unnecessary intermediate variables. The naming of some variables is also updated for better clarity.
This commit introduces the EventBus infrastructure for handling the Notification Service. Included are foundational elements such as the EventBus options, custom filters and observers for logging and validation, as well as the EventBus Gateway. Consumer classes for event handling are also defined. The new infrastructure will enhance system-wide message communication and improve the organization as well as error handling within the service.
This commit removes various obsolete components related to the application services within the Order service. Old gateways, interactors, entities, and value objects have been deleted as they were no longer needed and would not be maintained. This includes specific components such as `IEventBusGateway`, `IEventStoreGateway`, `IInteractor`, and `IUnitOfWork`, among others. This cleanup aids in reducing unnecessary code complexity and maintenance overhead.
This commit deletes the appsettings.json, appsettings.Production.json, and appsettings.Staging.json configuration files from the Order command service. This change is part of our refactoring to replace hard-coded settings with environment variables for improved security and customization.
The Order Query service was removed as part of a restructuring of the application. All associated files were deleted, including configuration files, dependencies and source code files. This addresses a necessary part of the process to simplify the application's architecture.
The existing message bus infrastructure has been replaced by an improved event bus implementation. This commit removes unnecessary files related to the old implementation. It also includes minor adjustments in 'Domain/Abstractions' and 'Application/DependencyInjection' to adapt these modules to the new changes.
The changes made greatly simplified code structure by reducing unnecessary verbosity and improving readability. Methods and classes have been refactored for simpler initialization and application of business logic. Furthermore, namespaces were updated to reflect the domain language more accurately.
The main changes include: Renamed 'worker' service to 'GrpcService' and 'Order' namespace to 'Shopping'. Developed new 'ValueObjects' for shopping domain like 'Category', 'Quantity' etc. Added 'Dockerfile' for 'GrpcService' and created new 'EventBusGateway' class to interact with event bus. Additionally, implemented new application-level 'Gateways' and 'IDomainEvent' related functionalities. All these changes are part of refactoring the checkout service into a more general shopping service.
The commit deletes multiple files that were part of the previous project structure, including unused interfaces, services, use cases, and helper extensions. This cleanup process is important to ensure that the code base remains maintainable and understandable for all developers. It assists in navigating the code base, minimizing the confusion of new developers, and improving the efficiency of the code review process.
Removed Application, Infrastructure, and Grpc Service related files connected to Warehouse Query microservice. This step is a part of decommissioning process of the obsolete parts of the Warehouse Query service. The deleted files include controllers, services, consumers, helpers, extensions, docker files, settings, and project files.
This commit establishes EventBus infrastructure in the Warehousing service. This includes creating EventBusGateway.cs, ensuring dependency injection, setting up consumers for different events and commands relating to inventory management and shopping cart activities. Also, pipe filters and observers are added for business, contract validation, and logging needs during message publishing and consumption.
Multiple service contracts related to Account, Catalog, Communication and Identity have been removed. This includes protobuf files, validator class, command events, domain events, projections, and queries, resulting in a cleaner service structure. This marks a significant shift in the overall architecture, possibly transitioning these services to a new approach or different pattern.
This commit removes numerous shopping cart functionalities from the code, including validators and commands. It also deletes some API configuration and options, mainly for gRPC client. Overall, it streamlines the codebase by getting rid of redundancy and could potentially improve performance as the application doesn't have to load and process unnecessary code.
This commit deletes a host of extraneous HttpClient and ViewModel files, replacing them with more focused API and Redux-based state management systems in the `Store/Cataloging` directory. It's part of an ongoing effort to simplify and flatten our codebase, removing unnecessary layers of complexity and improving maintainability. The replacement systems offer equivalent functionality, but with a more streamlined, easy-to-understand structure.
The tests in ShoppingCarQueryStackIntegrationTest have been updated to reflect changes in service and endpoint names, as well as in object structures used in these tests. In addition, package reference declarations within the test project have been simplified.
The ShoppingCartTests.cs and ShoppingCartTests.csproj files have been deleted. This action was prompted due to changes in project requirements or refactoring of the overall testing approach.
This commit introduces the ShoppingCartUnitTests.cs file, which includes unit tests for the ShoppingCart domain. In addition, it includes a significant refactor to AggregateTests.cs, introducing generics and handling different scenarios for updated quantities in shopping cart items.
This commit simplifies the instantiation of HttpClient in ShoppingCartIntegrationTests by moving it to the constructor. Additionally, package versions in the ECommerce.WebAPI.IntegrationTests.csproj file have been removed for simplicity and better package management.
Removed Directory.Build.props and EDA.CleanArch.DDD.CQRS.EventSourcing.sln.DotSettings files. Added a new qodana.yaml file for Qodana analysis configuration. Modified project names in the EventualShop solution to be more descriptive and meaningful, including re-naming project instances like "MessageBus" to "EventBus" and "Communication" to "Notification".
This commit introduces significant changes to various services. It adds a new messaging system with MassTransit implementation for the Contracts.Abstractions. New proto3 files have been created for Account, Catalog, and Notification services. Detailed boundary definitions have been added, including commands, events, queries, and their respective validations where necessary. It further involves changes relating to the Order service and Identity service, including authentication and user management functionality.
Refactored the cataloging events in the WebAPP, moving the event records to a separate 'Events' folder and updated all the relevant references. This also includes changing the return type of CommandResponse message in the ApplicationApi from string to Identifier object for better data representation and error handling.
The AggregateRoot abstraction across multiple services has been updated to use Queues instead of Lists for storing domain events. This enhances the efficiency of event dequeuing and assures order of processing. The versioning system has also been updated to automatically increment upon each event. Some unnecessary or deprecated code has been removed, enhancing the clean and maintainability of the codebase.
The command response type 'Ok' has been altered from string to google.protobuf.Any to allow for more flexible and versatile data handling. A new 'Identifier' message type is also introduced for streamlined identification of messages.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant