The domain module never depends on other PaimonGanyu modules.
:paimonganyu-domain
Here defines the business logic for features of PaimonGanyu applications.
:algorithm implements useful computational ADTs and algorithms.
:error is a common facility for error handling.
:dailycheck is the business logic for HoYoLab daily check-in.
:hoyopass defines CRUD operations of the users' Hoyoverse authentication.
:redeem is the business logic for code redemption.
:traveler defines the business logic that deals with traveler status.
:service implements all driving ports of all domains.
:paimonganyu-infra
The infrastructure module implements all driven ports from the domain module.
It is responsible to communicate with objects that provide technical-specific or infrastructure-related features.
Its responsibilities can be:
mapping a domain POJO to a DynamoDB item
making a call to WebClient object to send an HTTP payload toward Hoyoverse
and, etc.
:awsutils
It defines helper classes for marshaling AWS event types, which are required by lambda handlers in :paimonganyu-app:paimonganyu module.
:ikakao
This contains POJOs to be rendered as part of a skill-response by the chatbot skill server.
:paimonganyu-hoyoapi
This module contains API interfaces and WebFlux WebClients to fetch Genshin player data from the Hoyoverse API servers.
:paimonganyu-app
The application module is where to configure and wire all dependent components to build an application.
Lambda workflows and the Springboot skill-server application of PaimonGanyu live here.
PaimonGanyu Modules
Hexagonal Architecture
:paimonganyu-domain
Here defines the business logic for features of PaimonGanyu applications.
:algorithm
implements useful computational ADTs and algorithms.:error
is a common facility for error handling.:dailycheck
is the business logic for HoYoLab daily check-in.:hoyopass
defines CRUD operations of the users' Hoyoverse authentication.:redeem
is the business logic for code redemption.:traveler
defines the business logic that deals with traveler status.:service
implements all driving ports of all domains.:paimonganyu-infra
The infrastructure module implements all driven ports from the domain module. It is responsible to communicate with objects that provide technical-specific or infrastructure-related features.
Its responsibilities can be:
:awsutils
:paimonganyu-app:paimonganyu
module.:ikakao
:paimonganyu-hoyoapi
This module contains API interfaces and WebFlux WebClients to fetch Genshin player data from the Hoyoverse API servers.
:paimonganyu-app
The application module is where to configure and wire all dependent components to build an application.
Lambda workflows and the Springboot skill-server application of PaimonGanyu live here.
:paimonganyu
:paimonganyu-skill
The chatbot skill-server is here. Controllers, custom argument resolvers, and views are defined.