Skip to content

docs(recruit): add dynamic recruit form CMS blueprint#3

Open
minge0n wants to merge 4 commits intoquipu-uos:mainfrom
minge0n:plan/04-recruit-form-cms
Open

docs(recruit): add dynamic recruit form CMS blueprint#3
minge0n wants to merge 4 commits intoquipu-uos:mainfrom
minge0n:plan/04-recruit-form-cms

Conversation

@minge0n
Copy link

@minge0n minge0n commented Mar 17, 2026

작업 내용

  • 모집 폼 CMS 문서 초안을 추가했습니다
  • 현재 main/backoffice 결합 구조와 마이그레이션 범위를 정리했습니다
  • 동적 폼의 데이터 모델, 런타임 규칙, API, 파일 업로드, 응답 flatten 전략을 문서화했습니다

포함 내용

  • MongoDB 기반 RecruitForm / RecruitResponse 설계
  • 조건부 표시, 분기, 버전 충돌, 중복 제출 방지 정책
  • 백오피스 폼 빌더 및 응답 조회 구조
  • CSV export, 파일 업로드, 마이그레이션 전환 방향

비고

  • 현재 문서는 구현 전 설계 초안 성격입니다
  • 이후 세부 기능 문서와 구현 과정에서 일부 정책은 조정될 수 있습니다

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

제출 시점에 최신 버전을 강제하는 부분(409 에러)에 대해 아래와 같은 방법은 어떤지 검토 부탁드립니다.

문제 인식

  • 현재 409 에러 + 새로고침 유도 방식은, 작성 중이던 지원 내용이 유실될 수 있습니다.
  • 임시 저장 기능은 넣지 않을 예정이라, 이를 해결하기 어렵습니다.

제안 방향

  • 절대 바뀌면 안 되는 고정 필드를 정의해 유지 (예: 이름, 학번, 학과, 이메일)
  • 사용자가 작성 시작한 버전 기준으로 제출이 가능하도록 처리 (최신 버전이 아니더라도 409 없이 제출 허용)
  • 백오피스 지원 리스트(테이블)에서는 고정 필드 중심으로 렌더링
  • 각 row 클릭 시 모달에서 상세 응답 렌더링 (버전별 필드 차이 해결)
  • Excel export 시 버전별 시트를 분리하여 출력
  • published 상태에서는 폼 구성(필드 추가/삭제/타입 변경) 수정 불가 정책

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

추가로 여유가 된다면 다음 기능도 한 번 고려해주셨으면 합니다.

  • 제출 DB 를 백오피스에서 수정/삭제/추가 기능

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

또 여유가 더 된다면 다음 기능도 한 번 고려해주면 좋겠습니다. 만약 너무 양이 방대하다면 말씀주세요.

  • 제출 DB의 이메일 대상 단체 메일 발송 기능
    • 목적: 임원진의 개별 카카오톡 친구 추가 없이, 수신 이메일을 선택해 카카오톡 팀채팅 또는 오픈채팅 링크를 안내하여 동아리 톡방에 편하게 유입시키는 운영 플로우 도입

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

파일 업로드 기능을 02-activity-cms.md의 담당자 분이 제안하신
Presigned URL 방식으로 통일하면 어떨까 합니다.
프론트엔드에서 바로 Cloudflare R2에 업로드 후 발급된 URL을 저장하는 방식입니다.
일단은 파일 URL을 입력받도록 하는 등 간단하게 구현해놓고,
02-activity-cms.md의 기능이 완성되면 만들어진 기능을 재사용하는 것이 어떨까 싶습니다.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants