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

All modules #7

Open
binchoo opened this issue Jun 19, 2022 · 0 comments
Open

All modules #7

binchoo opened this issue Jun 19, 2022 · 0 comments
Assignees
Labels
doc Improvements or additions to documentation

Comments

@binchoo
Copy link
Owner

binchoo commented Jun 19, 2022

PaimonGanyu Modules

image

Hexagonal Architecture

image

image

  • The domain module never depends on other PaimonGanyu modules.

:paimonganyu-domain

image

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

image

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

image
It defines helper classes for marshaling AWS event types, which are required by lambda handlers in :paimonganyu-app:paimonganyu module.

:ikakao

image
This contains POJOs to be rendered as part of a skill-response by the chatbot skill server.

:paimonganyu-hoyoapi

image

This module contains API interfaces and WebFlux WebClients to fetch Genshin player data from the Hoyoverse API servers.

:paimonganyu-app

image

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

image
It implements AWS Lambda handlers that fulfill the workflows defined by #1 (comment).

:paimonganyu-skill

image

The chatbot skill-server is here. Controllers, custom argument resolvers, and views are defined.

@binchoo binchoo added the doc Improvements or additions to documentation label Jun 19, 2022
@binchoo binchoo self-assigned this Jun 19, 2022
@binchoo binchoo pinned this issue Jun 19, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
doc Improvements or additions to documentation
Projects
None yet
Development

No branches or pull requests

1 participant