Skip to content

monandszy/conversation-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Conversation App

A small Spring Boot modular web application built with Spring Modulith. The project implements a conversation-management service with account handling and integration with Google Generative Language APIs. It includes server-side rendered UI (Thymeleaf), an OpenAPI client generation step, observability, and production-ready configuration (Liquibase, RabbitMQ, PostgreSQL).

Key Features

  • Modules: Modular design using Spring Modulith with clearly separated modules: accounts, conversation, and google_api.
  • Web UI: Server-side UI using Thymeleaf templates located under src/main/resources/templates.
  • API integration: OpenAPI specification included (src/main/resources/openapi/generativelanguage_googleapis_com.json) and client code generated at build time.
  • Persistence: PostgreSQL support via HikariCP and Liquibase-based migrations (src/main/resources/database/changelog).
  • Messaging & Events: Spring Modulith events and RabbitMQ configuration included for async communication patterns.
  • Observability: OpenTelemetry and Micrometer instrumentation pre-configured; management endpoints and metrics are exposed.
  • Testing: Test support with JUnit, Testcontainers, and WireMock for integrations.

Modules

  • accounts: Account management, authentication and authority entities.
  • conversation: Conversation domain aggregates (Conversation, Request, Response, Section), command and query facades, and repository layers.
  • google_api: Adapter and internal API call service for Google Generative Language integration.

Tech Stack

  • Java 21
  • Spring Boot + Spring Modulith
  • Spring Data JPA, Hibernate
  • PostgreSQL + HikariCP
  • Liquibase for DB migrations
  • RabbitMQ for messaging
  • OpenTelemetry (OTel) + Micrometer
  • Thymeleaf for server-side rendering
  • OpenAPI generator for client code
  • Sass (via Gradle plugin) for CSS preprocessing

About

AI chatbot web application

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published