Overview
Legacy-compatible migration project that replaced the Django backend of an existing Flutter reading log app with Kotlin/Spring Boot
Legacy-compatible migration project that replaced the Django backend of an existing Flutter reading log app with Kotlin/Spring Boot

Project Details
Legacy-compatible migration project that replaced the Django backend of an existing Flutter reading log app with Kotlin/Spring Boot
Legacy Migration
Reimplemented Django-based APIs in Kotlin/Spring Boot while preserving the existing app contract
Troubleshooting
Django snake_case response envelopes broke app compatibility after the Kotlin rewrite — pinned legacy response snapshots as contract fixtures and auto-compared them in CI so response contracts stayed intact through the migration
Domain Modularization
Split package structure into auth, book, garden, memo, push, scheduler, and app domains
API Compatibility
Verified compatibility for legacy response envelopes, snake_case fields, JWT authentication flow, and image upload/retrieval paths
DB Migration
Managed schema changes with PostgreSQL + Flyway and secured production schema stability with Hibernate validate
Deployment Automation
Built OCI A1 deployment with GitHub Actions and Docker images, including blue-green deployment through Caddy upstream switching
Operational Observability
Configured Actuator/Prometheus metrics, Grafana dashboards, Loki log collection, and health/docs/smoke check based operations
Test Strategy
Verified the full Controller-Service-Repository flow with Testcontainers PostgreSQL integration tests and legacy contract fixtures
Screenshots


Previous
Selected as one of 60 finalists from 5,341 participants and built Icon Spread Radar at the MUSINSA track's offline final
Next
MSA-based backend platform for nail printing service