Repository navigation
Closed
Labels
ECSoC26-L2backendBackend API, services, workers, or domain logicBackend API, services, workers, or domain logicdependenciesDependency updates and package maintenanceDependency updates and package maintenancedevopsInfrastructure, deployment, CI/CD, or operationsInfrastructure, deployment, CI/CD, or operationsfrontendReact UI, accessibility, and client experienceReact UI, accessibility, and client experiencegood first issueApproachable task for a first-time contributorApproachable task for a first-time contributorintermediatefor intermediate level issuesfor intermediate level issuestestingTest coverage, reliability, or toolingTest coverage, reliability, or toolingtriageNeeds initial maintainer triageNeeds initial maintainer triage
Description
Summary
Currently, the core modules appear to be tightly coupled when handling state changes and cross-module communication. Implementing a robust Event-Driven Architecture (using an EventEmitter or Pub-Sub pattern) will decouple these services and improve the scalability and maintainability of the codebase.
Motivation
Tightly coupled services make unit testing difficult and increase the risk of regressions when modifying core flows. By introducing an event bus, we can allow different components to react to state changes asynchronously.
Acceptance Criteria
- Implement a centralized Event Bus / Pub-Sub broker.
- Refactor at least one core workflow to use the new event system instead of direct method calls.
- Add unit tests verifying the decoupled event firing and handling.
How to Test
- Run the unit test suite to ensure the event bus routes messages correctly.
- Verify that the refactored workflow behaves functionally identically to the old direct-invocation approach.
Assignment Request (L3/Core Feature)
I would like to be assigned to this issue. Below is my proposed implementation plan:
Step-by-Step Implementation Plan:
- Design Event Bus: Create a centralized EventBus class.
- Define Event Contracts: Define strict types/interfaces for the event payloads to ensure type safety across the application.
- Refactor Core Service: Identify a core service currently using direct dependencies, and replace the direct call with an EventBus.emit() and corresponding .on() listener.
- Testing: Write unit tests for the EventBus, verifying single, multiple, and wildcard event listeners.
Files to be modified/created:
- src/core/events.ts (or .js) - New EventBus implementation.
- src/core/events.test.ts - Unit tests for the bus.
- Refactoring existing core service files to use the new bus.
Metadata
Metadata
Assignees
Labels
ECSoC26-L2backendBackend API, services, workers, or domain logicBackend API, services, workers, or domain logicdependenciesDependency updates and package maintenanceDependency updates and package maintenancedevopsInfrastructure, deployment, CI/CD, or operationsInfrastructure, deployment, CI/CD, or operationsfrontendReact UI, accessibility, and client experienceReact UI, accessibility, and client experiencegood first issueApproachable task for a first-time contributorApproachable task for a first-time contributorintermediatefor intermediate level issuesfor intermediate level issuestestingTest coverage, reliability, or toolingTest coverage, reliability, or toolingtriageNeeds initial maintainer triageNeeds initial maintainer triage
Activity
github-actions commentedon Jul 11, 2026
Thanks for opening your first CertiVault issue. A maintainer will triage it soon. Please make sure the template is complete and does not include secrets, private documents, tokens, or personal data.
Krishnx21 commentedon Jul 11, 2026
@Diwakar-odds work on it and update ASAP.
feat(arch): implement event-driven architecture and decoupled observe…