Skip to content

kw-service/kw-notice-backend-dorm

Repository files navigation

Spring MVC + Spring Batch (with Kotlin, Multi Module Project, Kotlin Gradle DSL)

Purpose

  • Practice Kotlin
  • Practice Spring Multi Module Project
  • Implement DDD in Spring JPA, R2DBC

Performance

  • Show how implement multi module project with kotlin gradle DSL
  • Show how to use r2dbc that make entity converter
  • Show how to use JPA in Kotlin
  • Monitoring dormitory notice per 1 min using Spring Batch
  • Nondisruptive Deployment with Dockers Swarm

Structure

Version 1

dormitory-notice

Version 2

dormitory-notice-v2

Module Dependencies

dormitory-notice-dependency drawio

Structure(with Docker Swarm)

dormitory-infrastructure

Skill Set

Language

  • kotlin(+coroutine)

Backend

  • Spring MVC
  • Spring Batch
  • Firebase Cloud Messaging
  • Spring Data JPA(mysql, h2)
  • Spring Webflux + R2DBC(abandon further development because batch system does not provide asynchronous)

Infrastructure

  • MySQL, H2

Test

  • mockk
  • coroutine-test
  • kotest