HANPYEON GUIDE

함께 만드는 한편의 기준

신청부터 참가 확정까지, 한편 운영실이 지켜야 할 원칙을 확인하세요.

한편 — 청년모임 가입·참가 모집 운영 시스템 개발 요구사항

1. 프로젝트 개요

청년모임 한편의 가입·참가 신청을 온라인으로 받고, 수집한 답변을 구조화하여 운영자가 목록과 상세 화면에서 확인·관리하는 웹 시스템이다.

가장 중요한 기능은 신청 폼 → 데이터 저장 → 신청자 목록 → 답변 확인 → 운영자 승인으로 이어지는 흐름이다. 초대장 공유, 현장 출석 체크, 운영자 메모는 이 흐름을 보조한다.

현재 버전은 모임별 신청서에 가입 질문을 포함하는 구조다. 별도의 상시 회원 계정, 모임 간 공통 회원 프로필, 회원 커뮤니티는 후속 개발 범위로 둔다.

1.1 핵심 목표

  1. 신청자가 휴대전화에서도 가입 질문을 작성하고 제출할 수 있다.
  2. 제출한 답변은 서버 저장소에 저장되어 다시 접속해도 유지된다.
  3. 운영자는 신청자의 활동·역량·참여 목적을 확인하고 참가 여부를 결정한다.
  4. 신청 상태, 운영자 메모, 현장 출석을 한곳에서 관리한다.
  5. 초대 문구와 신청 링크를 쉽게 공유하고 필요한 명단을 내려받는다.

1.2 확정된 운영 원칙

2. 사용자와 권한

사용자가능한 작업제한
신청자모임 안내 확인, 가입 질문 작성, 동의 후 제출, 접수 결과 확인신청자 명단 및 타인의 답변 열람 불가
운영자모임 생성·수정, 명단 조회, 검색·필터, 상세 답변 확인, 상태·메모·출석 변경, CSV 다운로드, 신청 정보 삭제지정된 운영자 계정으로 로그인 필요

3. 주요 이용 흐름

3.1 운영자

  1. 운영자 계정으로 로그인한다.
  2. 모임명, 소개, 일시, 장소, 정원, 마감일, 문의처 등을 입력한다.
  3. 모집 상태를 모집 중으로 설정한다.
  4. 초대 문구 또는 신청 링크를 공유한다.
  5. 신청자 목록에서 신청서를 검토한다.
  6. 신청 상태를 확정·대기·취소 등으로 변경한다.
  7. 필요한 안내는 운영자가 별도로 전달한다.
  8. 모임 당일 참가 확정자의 출석을 체크한다.
  9. 보관 기간에 맞춰 개인정보를 삭제한다.

3.2 신청자

  1. 전달받은 신청 링크로 접속한다.
  2. 모임 안내를 확인한다.
  3. 네 단계의 가입 질문을 작성한다.
  4. 운영원칙과 개인정보 수집·이용에 각각 동의한다.
  5. 신청서를 제출한다.
  6. 접수 완료 안내와 신청 번호를 확인한다.
  7. 운영팀의 가입·참가 확정 안내를 기다린다.

4. 화면 구성

화면주요 기능
운영자 로그인지정 계정 확인, 접근 권한 안내
참가자 관리신청·확인 필요·확정·참석 인원 집계, 신청자 목록, 검색·필터, 상세 보기, CSV 다운로드
가입 질문 폼전체 질문·선택지·필수 여부 확인, 모임별 신청 링크 복사, 실제 신청 화면 열기
초대장모임 정보 기반 초대장 표시, 초대 문구 복사, 기기 공유
모임 설정기본 정보 수정, 정원·마감·모집 상태·문의처·보관 기간 설정
신청자 상세네 영역의 전체 답변, 동의 기록, 운영자 메모, 상태·출석 변경, 신청 정보 삭제
가입 신청모임 안내, 네 단계 질문, 입력 검증, 동의, 제출 및 접수 결과
개발 요구사항기능 범위, 데이터·운영 규칙, 완료 판단 기준 확인

5. 가입 질문 폼

5.1 공통 설계

5.2 기본 정보

질문데이터 필드입력 방식필수 여부표시·입력 규칙
이름name단답형필수2~50자
출생연도birth_year정수필수1900년~현재 연도, 나이 중복 수집 없음
연락처phone휴대전화필수공백·하이픈을 제거하여 저장
거주지역region단답형필수시·구 정도, 2~80자, 상세 주소 불필요
현재 어떤 활동을 하고 계신가요?work_status단일 선택필수현재의 주된 활동 하나 선택
현재 활동 — 기타work_other단답형조건부 필수현재 활동이 기타인 경우, 최대 200자
회사명company_name단답형선택사업 중인 경우만 표시, 최대 150자
업종industry단답형선택사업 중인 경우만 표시, 최대 150자
주요 사업내용business_description서술형선택사업 중인 경우만 표시
현재 직장 / 활동 소속workplace단답형선택사업 중 이외의 경우 표시, 최대 150자
담당 업무 / 현재 하는 일job_role서술형선택사업 중 이외의 경우 표시

현재 활동 선택지

분기 규칙

5.3 역량 및 네트워크

질문데이터 필드입력 방식필수 여부
본인이 가장 자신 있는 분야는 무엇인가요?expertise복수 선택필수, 1개 이상
자신 있는 분야 — 기타expertise_other단답형기타 선택 시 필수, 최대 200자
보유한 자격증이나 전문 경력이 있나요?credentials서술형선택
다른 회원들에게 도움을 줄 수 있는 분야는 무엇인가요?help_offer서술형선택
다른 회원들에게 도움을 받고 싶은 분야는 무엇인가요?help_needed서술형선택

자신 있는 분야 선택지

영업 / 마케팅 / AI / 온라인 / 디자인 / 개발 / 제조 / 유통 / 금융 / 연구 / 기획 / 기타

5.4 모임 참여 목적

질문데이터 필드입력 방식필수 여부
이 모임에 참여하고 싶은 가장 큰 이유는 무엇인가요?motivation단일 선택필수
참여 이유 — 기타motivation_other단답형기타 선택 시 필수, 최대 300자
관심 있는 정부지원 분야가 있나요?support_interests복수 선택선택
정부지원 관심 분야 — 기타support_other단답형기타 선택 시 필수, 최대 200자
함께 해보고 싶은 프로젝트나 사업 아이디어가 있나요?project_idea서술형선택
모임에서 맡거나 기여할 수 있는 역할은 무엇인가요?contribution서술형선택

가장 큰 참여 이유 선택지

정부지원 관심 분야 선택지

정책자금 / 창업지원 / R&D / 고용지원 / 수출지원 / 소상공인지원 / AI·디지털전환 / 기타

5.5 성향 및 운영

질문데이터 필드입력 방식필수 여부
모임 활동에 어느 정도 참여 가능하신가요?participation단일 선택필수
한 달에 오프라인 모임은 몇 회가 적당한가요?offline_frequency정수필수, 0~31회
모임에서 꼭 지켜졌으면 하는 문화나 원칙이 있나요?culture서술형선택
“나는 이런 사람이다”를 한 문장으로 소개해 주세요.one_liner서술형필수, 2~200자
내부 운영원칙에 동의하시나요?rules_agreed별도 동의필수

참여 가능 수준 선택지

운영원칙 동의 문구

회원 간 금전 대차를 하지 않습니다. 타 모임 홍보와 과도한 영업을 자제합니다.

입력 규칙

6. 개인정보 안내와 동의

6.1 신청 전 안내 항목

6.2 기록 규칙

7. 모임 관리

7.1 모임 정보

항목규칙
모임명필수, 2~100자
모임 소개필수, 5~2,000자
모임 일시한국 시간 기준 입력
모집 마감모임 시작 시각 이전 또는 같은 시각
장소필수, 2~200자
모집 정원1~10,000명
문의처이메일·전화번호·오픈채팅 링크 등, 필수
개인정보 보관 기간모임 종료 후 1~365일, 기본값 90일
모집 상태준비 중 / 모집 중 / 모집 마감

7.2 동작 규칙

8. 신청자 관리

8.1 목록과 집계

8.2 상세 답변과 메모

8.3 신청 상태

표시명저장 코드의미
신청 접수pending신청 완료, 운영자 검토 필요
참가 확정confirmed운영자 검토 후 참가 확정
대기waitlisted추가 검토 또는 자리 확보 대기
취소cancelled참가 취소 처리

8.4 현장 출석

8.5 삭제

9. CSV 내려받기

10. 초대장과 신청 링크 공유

11. 데이터 구조와 저장 규칙

11.1 모임 — events

구분주요 필드
식별·표시id, title, description
일정·장소starts_at, deadline, location
모집·문의capacity, status, contact
개인정보 보관retention_days
이력·충돌 방지created_at, updated_at, version

11.2 신청 — applications

구분주요 필드
식별·연결id, event_id
기본 연락처name, phone
가입 응답5장의 각 데이터 필드. 운영원칙 동의는 아래 기록 필드로 저장
운영 상태status, memo, checked_at
개인정보 동의consented_at, consent_version
운영원칙 동의rules_agreed_at, rules_version
질문지 버전questionnaire_version
이력·충돌 방지created_at, updated_at, version
이전 양식 보존email, first_visit, note

11.3 저장 원칙

11.4 기존 데이터 호환

12. 기술 구현 기준

12.1 현재 구성

구분기술·방식
화면React, TypeScript, Vinext
실행 환경Cloudflare Workers
데이터 저장Cloudflare D1 / SQLite
스키마 변경Drizzle 마이그레이션
입력 검증Zod, 화면·서버 양쪽 검증
운영자 인증Sites 플랫폼 인증과 서버 측 운영자 이메일 허용 목록
배포Sites

12.2 주요 경로와 API

구분경로·요청용도
운영실/지정 운영자 전용 화면
가입 폼/join?event=<모임 ID>모임별 가입·참가 신청
요구사항 문서/requirements.html정적 요구사항 문서
질문지 문서/membership-questionnaire.html전체 가입 질문지
모임 조회GET /api/hanpyeon?view=event&id=<모임 ID>신청 화면에 필요한 모임 정보만 반환
운영 데이터 조회GET /api/hanpyeon?event=<모임 ID>운영자용 모임·신청 목록
모임 저장POST /api/hanpyeon, action=save_event운영자용 모임 생성·수정
신청 제출POST /api/hanpyeon, action=apply신청 검증·접수
신청 운영 정보 변경PATCH /api/hanpyeon상태·메모·출석 변경
신청 삭제DELETE /api/hanpyeon운영자용 단건 삭제

12.3 권한·오류 처리

13. 사용성 및 반응형 요구사항

14. 완료 판단 기준

ID확인 기준
AC-01사용자 초안의 질문·선택지가 네 영역의 신청 폼에 빠짐없이 반영된다.
AC-02제출한 답변이 해당 모임의 운영자 명단에 나타나고 다시 조회해도 유지된다.
AC-03필수 항목 누락, 잘못된 출생연도·연락처·선택값, 미동의 신청을 거절한다.
AC-04기타 설명의 조건부 필수 여부와 사업 여부에 따른 질문 분기가 동작한다.
AC-05현재 조건과 맞지 않아 숨겨진 직업·기타 답변은 저장하지 않는다.
AC-06이전·다음 단계 이동과 제출 실패 후에도 작성 중인 입력을 유지한다.
AC-07동일 연락처의 중복 신청과 동일 제출의 중복 저장을 방지한다.
AC-08모집 마감 후 제출을 거절하며 접수와 참가 확정을 구분한다.
AC-09동시에 참가를 확정해도 정원을 넘지 않는다.
AC-10상태·메모·출석 변경이 저장되고 명단·집계에 반영된다.
AC-11상세 화면과 CSV에서 복수 선택 및 모든 서술형 답변을 확인할 수 있다.
AC-12CSV 대상이 현재 검색·필터 결과와 일치하며 한글·연락처·줄바꿈·따옴표를 보존한다.
AC-13비로그인·비운영자 계정은 신청자 데이터를 조회·수정·삭제할 수 없다.
AC-14기존 신청 데이터가 보존되고 새 필수 질문 없이 운영 상태를 변경할 수 있다.
AC-15폼 작성 중 모임 정보가 바뀌면 최신 정보 확인과 개인정보 재동의를 요구한다.
AC-16휴대전화 화면과 키보드 조작으로 신청·운영의 핵심 흐름을 완료할 수 있다.

15. 검증 현황

이 절은 앞선 구현 작업의 검증 결과를 정리한 것으로, 이번 Markdown 문서 작성 과정에서 기능 검사를 다시 실행한 것은 아니다.

확인한 항목

추가 확인이 필요한 항목

위 화면·브라우저 관련 검증은 당시 도구 접근 제한으로 실행하지 못했다. 구현된 반응형·접근성 요구사항과 실제 화면 검증 완료 여부를 구분한다.

16. 후속 개발 범위

아래 기능은 현재 버전에 포함하지 않는다.

  1. 문자·카카오 알림톡·이메일 자동 발송 및 발송 이력.
  2. 신청자 본인의 답변 조회·수정·취소·철회.
  3. 별도의 상시 회원 계정과 모임 간 공통 프로필 재사용.
  4. 운영자가 질문을 자유롭게 추가·편집하는 설문 제작기.
  5. 보관 기간 경과 시 개인정보 자동 파기.
  6. 회비 결제와 정산.
  7. 운영자 역할별 세부 권한.
  8. 회원 간 프로필 공개·매칭·커뮤니티.
  9. 임시 작성 내용을 브라우저 종료 후 복원하는 기능.

17. 실제 모집 전 운영 준비