@wopee-io/sdk v3.5.1
Wopee SDK
Codebase structure
The codebase is loosely following ports/adapters (hexagonal) architecture principles, i.e., split inmplementation details and business logic whenever possible.
lib/
├── core/
│ ├── domain/
│ │ └── valueObjects/
│ └── ports/
├── infrastructure/
│ ├── adapters/
│ │ ├── apolloTrackAdapter/
│ │ ├── consoleLogger/
│ │ └── noLogger/
│ └── services/
│ ├── apolloTrackAdapterService/
│ └── loggerService/
└── shared/
├── metadata/
└── utils
└── zodHelper
Driven Ports
LoggerPort: A generalized logging interface for various frameworks and packages, supporting uniform logging across the repository.
ImageTrackerPort: A unified interface for image tracking operations, supporting seamless integration with different storage mechanisms.
Adapters
ApolloTrackAdapter: Implements
ImageTrackerPort
, providing integration with Wopee API.ConsoleLogger: Implements
LoggerPort
, providing simple logging to the console output.NoLogger: Implements
LoggerPort
, providing option to completely disable logging.
Services
ApolloTrackAdapterService
Streamlise the creation of ApolloTrackerAdapter.
LoggerService
Streamlise the craetion of adapters implementing LoggerPort.
Shared
utils
ZodHelper
Implementing common wrappers around zod.