com.byeolnaerim:webflux-fe-dev-assistant
백엔드와 프론트를 함께 개발하며 같은 URL·DTO·API 계약을 두 번 작성하던 병목을 줄이기 위해, Spring WebFlux와 MongoDB source에서 Swagger, AsyncAPI, handler 골격과 field enum을 생성하는 local 개발 자동화 라이브러리입니다.
백엔드에서 이미 작성한 것을 다시 작성하지 않기
webflux-fe-dev-assistant는 백엔드와 프론트를 함께 개발하면서 생기는 반복 작업을 줄이기 위해 만든 local 개발 자동화 라이브러리입니다. RouterFunction, handler, DTO와 entity source에 이미 존재하는 정보를 읽어 Swagger/OpenAPI, RSocket AsyncAPI, handler 골격과 MongoDB field enum을 생성합니다.
핵심은 새로운 runtime abstraction을 추가하는 것이 아니라, 백엔드에 한 번 작성한 API 계약과 타입을 프론트에서 다시 작성하지 않도록 연결하는 것입니다. 라우터에 handler reference를 먼저 적었을 때 필요한 골격을 만들고, 문자열 field 이름도 source에서 enum으로 생성해 반복과 오타를 줄입니다.
API 계약 자동화
RouterFunction과 handler·DTO를 분석해 REST용 Swagger와 RSocket용 AsyncAPI를 생성합니다.
반복 코드 생성
라우터에 선언한 참조를 기준으로 handler class와 method 골격을 생성·보정합니다.
문자열 제거
Mongo entity field와 collection 이름을 enum으로 만들어 query의 raw string과 오타를 줄입니다.
자동화의 기준
Source of truth
백엔드 source를 API 문서와 프론트 생성 코드의 기준으로 사용합니다.
Development time
production runtime을 복잡하게 만들지 않고 local watcher가 확인 가능한 파일을 생성합니다.
Project conventions
모든 형태를 추측하기보다 실제 프로젝트에서 사용하는 코드 패턴을 예측 가능하게 분석합니다.