-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
회의 개요
- 날짜: 2025.12.10 (수)
- 회의 안건
- 모임 노출/만료 및 채팅방 종료 정책 정의
- 이메일/닉네임/제목/장소/인원/이미지/상세 설명 등 필드별 유효성 규칙 확정
- 태그·프로필 상태 메시지·MBTI 등 회원/프로필 필드 제약 논의
- 텍스트 영역 줄바꿈 처리, 채팅 메시지 길이 및 “더 보기” UX 논의
- 프론트·백엔드 유효성 “크로스 체크” 전략 합의
회의 내용 요약
- 모임은 시작 시간(startTime)을 기준으로 관리하며, 시작 시간이 지나면 목록·검색에서 더 이상 노출하지 않고, 참여도 불가능하게 처리하기로 함(참가자 수 0인 경우도 동일 정책 적용).
- 채팅방은 별도의 endTime 필드 없이 “startTime + 24시간” 후 자동 종료(참가자 전체 unsubscribe)하는 방식으로 운영하고, 그 전까지는 지각/연락용으로 채팅을 유지하기로 함.
- 이메일·닉네임·제목·인원·태그·상태메시지 등 주요 필드의 길이/형식 제한을 구체적으로 합의함
- 이메일: 필수, 전체 주소 기준 최대 50자
- 닉네임: 최소 2자, 최대 14자, 공백 허용 안 함
- 모임 제목: 최소 2자, 최대 50자
- 최대 인원: 1~12명
- 태그: 1개당 최대 8자, 최대 10개
- 상태 메시지: 최대 20자
- 모임 상세 설명은 최대 300자, 줄바꿈 허용 +
white-space: pre-wrap으로 렌더링하며, 연속 줄바꿈에 대한 별도의 제한은 두지 않기로 함. - 모임/프로필 이미지는 최대 3장까지 업로드 가능, 필수는 아니며, 업로드가 없을 경우 프론트 정적 디폴트 이미지를 노출하는 방식.
- 지난 모임은 “모임 이력”으로 이동하되, 카드 클릭 시 상세 페이지 진입은 허용하고, 내부 액션 버튼은 비활성화 + “종료된 모임”임을 알 수 있는 별도 스타일을 디자이너와 논의하여 적용하기로 함.
회의 내용 상세
모임 노출/만료 및 채팅방 종료 정책
- 모임 생성 후 아무도 참가하지 않은 채 시작 시간이 지나가는 경우를 포함해 startTime 기준으로 모임을 만료 처리하기로 정함.
- 참가자 수와 관계없이 startTime을 넘긴 모임은
- 모임 목록·검색 결과에서 더 이상 노출하지 않고,
- “참여하기” 요청은 프론트에서 먼저 막고, 서버도 4xx로 차단하는 방향으로 제안.
- 채팅방 종료 기준은 endTime 필드를 두지 않고 단순화:
- startTime 이전: 모임 준비/채팅 가능
- startTime 이후: 실제 만남 진행 + 늦는 사람 연락 등을 고려하여 startTime + 24시간까지 채팅 유지
- 그 이후: 서버에서 강제 unsubscribe 처리(모든 참가자 채팅방 해지)로 처리
지난 모임 상세 페이지 및 이력 처리
- 지난 모임(=startTime이 지난 모임)은 모임 이력으로 이동:
- 카드 클릭: 상세 페이지 진입은 허용 (상세 내용 확인 필요)
- 상세 페이지 내부:
- 모든 참여/채팅 관련 버튼은 비활성화
- 클라이언트에서 “이미 시작/마감된 모임입니다” 등을 표기
- 서버도 동일하게 요청을 차단해 브라우저/포스트맨/콘솔 요청 우회를 막는 이중 방어 적용
- 디자인 측면에서:
- 썸네일 그레이스케일, 검은 띠, 회색 톤 등으로 카드/상세에서 한눈에 보이도록 인디케이터를 추가하자는 의견.
- 구체적인 스타일은 디자이너와 별도 논의 후 확정.
이메일, 닉네임, 비밀번호 등 회원 필드 유효성
- 이메일
- 필수 입력 필드로 유지.
- 전체 주소(로컬 + 도메인) 기준 최대 50자로 제한하기로 합의.
- 로컬 파트만 따로 검사하거나 별도의 길이 제한을 두지는 않음.
- 닉네임
- 리스트/카드 UI를 깨지 않도록 길이 제한 필요.
- 공백은 허용하지 않기로 하고,
- 최소 2자 (1자 닉네임은 허용하지 않음)
- 최대 14자 로 결정.
- 너무 긴 닉네임은 목록·친구·채팅 리스트 등에서
…처리.
- 비밀번호
- 구성 규칙: 영문/숫자/특수문자 조합,
- 대문자 강제는 사용자 피로가 크므로 지양
- 특수문자 1개 이상 포함
모임 정보 필드 (제목, 장소, 인원, 이미지, 상세 설명)
- 모임 제목
- 목록: Tailwind
line-clamp-2로 최대 2줄까지 노출, 이후는…처리. - 상세: 제목 전체 노출을 위해 클램프 제거
- 길이 제한: 최소 2자, 최대 50자로 결정.
- 목록: Tailwind
- 장소
- 실제 사용자의 대부분은 선택 기반으로 입력하므로, 주소 포맷에 대한 정규식 검증은 하지 않고 자유 문자열로 허용하기로 함.
- 최대 인원
- 1~12명 범위로 제한(최대 12명).
- 이미지
- 모임 이미지는 최대 3장, 필수는 아님.
- 이미지가 하나도 없으면:
- 모임용 디폴트 이미지, 프로필용 디폴트 이미지 두 종류를 프론트
public정적 리소스로 관리하고, 서버에서는 빈 배열을 그대로 유지(별도 S3 디폴트 삽입 X).
- 모임용 디폴트 이미지, 프로필용 디폴트 이미지 두 종류를 프론트
- 모임 상세 설명(본문)
- 상세 설명은 최대 300자로 제한.
- 줄바꿈은 허용하며, 렌더링 시
white-space: pre-wrap적용으로 입력한 개행/스페이스를 그대로 반영. - 연속 줄바꿈(테러성 줄바꿈)을 정규식으로 제한하는 방법도 검토했으나,구현 복잡도·서버 동기화 이슈를 고려해 최대 길이(300자)만 서버/프론트에서 공통으로 체크하는 쪽으로 정리.
태그, 프로필 상태 메시지, MBTI
- 태그
- 태그 1개당 길이: 최대 8자 (기존 결정 유지).
- 태그 개수: 최대 10개로 확정.
- 목록: 한 줄만 노출, 나머지는
…또는 “+N” 형태로 축약. - 상세: 등록된 태그는 모두 노출,
flex-wrap으로 자연스럽게 줄바꿈.
- 프로필 상태 메시지(한 줄 소개)
- 친구/채팅/프로필 등 여러 화면에서 노출되므로, UI 보호 차원에서 길이 제한 필요.
- 최대 20자
- MBTI
- 기본 규칙: 4자 고정 (E/I, S/N, T/F, J/P 조합).
- 입력은 소문자/대문자 모두 허용하되, 저장 시에는 대문자로 변환.
텍스트 영역 줄바꿈 및 채팅 메시지 길이
- 텍스트 영역(모임 상세 설명 등)
textarea에서 엔터 입력 시\n뉴라인 캐릭터가 실제 값에 포함되고,white-space: pre-wrap적용 시 줄바꿈/스페이스가 시각적으로 유지된다는 점을 확인.- 줄바꿈 자체를 제한하기보다는, 맥스 길이(300자)를 서버·클라이언트에서 공통으로 검증하는 것이 구현 단순성과 유지보수 측면에서 더 낫다는 의견으로 정리.
- 채팅 메시지
- 카카오톡처럼 너무 긴 메시지는 “더 보기”로 축약하는 UX를 참고.
- 1회 전송 가능한 메시지 길이를 약 300자 수준으로 제한.
- 악의적 대용량 메시지를 방지하기 위해 서버에서도 동일한 맥스 길이로 검증하는 크로스 체크 필요
- 정확한 디테일은 추후 별도 논의 후 최종 확정하기로 함.
후속 액션
- 모임/채팅 수명 정책 확정
- 지난 모임 상세는 조회 가능하되, 액션 버튼 비활성화 + “종료된 모임” 스타일은 디자이너와 협의.
Metadata
Metadata
Assignees
Labels
No labels