Architecture
Hexagon under com.splick.notification with stream consumer workers in application.
Controllers validate and map HTTP. Use cases own transactions and business rules. Domain types do not import Spring Data or HTTP clients. Infrastructure implements ports (JDBC, Redis, HTTP).
Use cases
FetchNotificationsUseCaseCreateNotificationUseCaseRegisterDeviceTokenUseCaseFetchBadgeCountsUseCase
Local run: ./gradlew run task for this service from splick-backend (see the service README and Makefile targets such as runAuth). The relay must be running before you expect downstream side effects.