Skip to content

[회의록] #9

@yoorli

Description

@yoorli

회의 개요

  • 날짜: 2025.12.10 (수)
  • 회의 안건
    • 모임 노출/만료 및 채팅방 종료 정책 정의
    • 이메일/닉네임/제목/장소/인원/이미지/상세 설명 등 필드별 유효성 규칙 확정
    • 태그·프로필 상태 메시지·MBTI 등 회원/프로필 필드 제약 논의
    • 텍스트 영역 줄바꿈 처리, 채팅 메시지 길이 및 “더 보기” UX 논의
    • 프론트·백엔드 유효성 “크로스 체크” 전략 합의

회의 내용 요약

  1. 모임은 시작 시간(startTime)을 기준으로 관리하며, 시작 시간이 지나면 목록·검색에서 더 이상 노출하지 않고, 참여도 불가능하게 처리하기로 함(참가자 수 0인 경우도 동일 정책 적용).
  2. 채팅방은 별도의 endTime 필드 없이 “startTime + 24시간” 후 자동 종료(참가자 전체 unsubscribe)하는 방식으로 운영하고, 그 전까지는 지각/연락용으로 채팅을 유지하기로 함.
  3. 이메일·닉네임·제목·인원·태그·상태메시지 등 주요 필드의 길이/형식 제한을 구체적으로 합의함
    • 이메일: 필수, 전체 주소 기준 최대 50자
    • 닉네임: 최소 2자, 최대 14자, 공백 허용 안 함
    • 모임 제목: 최소 2자, 최대 50자
    • 최대 인원: 1~12명
    • 태그: 1개당 최대 8자, 최대 10개
    • 상태 메시지: 최대 20자
  4. 모임 상세 설명은 최대 300자, 줄바꿈 허용 + white-space: pre-wrap으로 렌더링하며, 연속 줄바꿈에 대한 별도의 제한은 두지 않기로 함.
  5. 모임/프로필 이미지는 최대 3장까지 업로드 가능, 필수는 아니며, 업로드가 없을 경우 프론트 정적 디폴트 이미지를 노출하는 방식.
  6. 지난 모임은 “모임 이력”으로 이동하되, 카드 클릭 시 상세 페이지 진입은 허용하고, 내부 액션 버튼은 비활성화 + “종료된 모임”임을 알 수 있는 별도 스타일을 디자이너와 논의하여 적용하기로 함.

회의 내용 상세

모임 노출/만료 및 채팅방 종료 정책

  • 모임 생성 후 아무도 참가하지 않은 채 시작 시간이 지나가는 경우를 포함해 startTime 기준으로 모임을 만료 처리하기로 정함.
  • 참가자 수와 관계없이 startTime을 넘긴 모임은
    • 모임 목록·검색 결과에서 더 이상 노출하지 않고,
    • “참여하기” 요청은 프론트에서 먼저 막고, 서버도 4xx로 차단하는 방향으로 제안.
  • 채팅방 종료 기준은 endTime 필드를 두지 않고 단순화:
    • startTime 이전: 모임 준비/채팅 가능
    • startTime 이후: 실제 만남 진행 + 늦는 사람 연락 등을 고려하여 startTime + 24시간까지 채팅 유지
    • 그 이후: 서버에서 강제 unsubscribe 처리(모든 참가자 채팅방 해지)로 처리

지난 모임 상세 페이지 및 이력 처리

  • 지난 모임(=startTime이 지난 모임)은 모임 이력으로 이동:
    • 카드 클릭: 상세 페이지 진입은 허용 (상세 내용 확인 필요)
  • 상세 페이지 내부:
    • 모든 참여/채팅 관련 버튼은 비활성화
    • 클라이언트에서 “이미 시작/마감된 모임입니다” 등을 표기
    • 서버도 동일하게 요청을 차단해 브라우저/포스트맨/콘솔 요청 우회를 막는 이중 방어 적용
  • 디자인 측면에서:
    • 썸네일 그레이스케일, 검은 띠, 회색 톤 등으로 카드/상세에서 한눈에 보이도록 인디케이터를 추가하자는 의견.
    • 구체적인 스타일은 디자이너와 별도 논의 후 확정.

이메일, 닉네임, 비밀번호 등 회원 필드 유효성

  • 이메일
    • 필수 입력 필드로 유지.
    • 전체 주소(로컬 + 도메인) 기준 최대 50자로 제한하기로 합의.
    • 로컬 파트만 따로 검사하거나 별도의 길이 제한을 두지는 않음.
  • 닉네임
    • 리스트/카드 UI를 깨지 않도록 길이 제한 필요.
    • 공백은 허용하지 않기로 하고,
      • 최소 2자 (1자 닉네임은 허용하지 않음)
      • 최대 14자 로 결정.
    • 너무 긴 닉네임은 목록·친구·채팅 리스트 등에서  처리.
  • 비밀번호
    • 구성 규칙: 영문/숫자/특수문자 조합,
    • 대문자 강제는 사용자 피로가 크므로 지양
    • 특수문자 1개 이상 포함

모임 정보 필드 (제목, 장소, 인원, 이미지, 상세 설명)

  • 모임 제목
    • 목록: Tailwind line-clamp-2로 최대 2줄까지 노출, 이후는  처리.
    • 상세: 제목 전체 노출을 위해 클램프 제거
    • 길이 제한: 최소 2자, 최대 50자로 결정.
  • 장소
    • 실제 사용자의 대부분은 선택 기반으로 입력하므로, 주소 포맷에 대한 정규식 검증은 하지 않고 자유 문자열로 허용하기로 함.
  • 최대 인원
    • 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자 수준으로 제한.
    • 악의적 대용량 메시지를 방지하기 위해 서버에서도 동일한 맥스 길이로 검증하는 크로스 체크 필요
    • 정확한 디테일은 추후 별도 논의 후 최종 확정하기로 함.

후속 액션

  1. 모임/채팅 수명 정책 확정
    • 지난 모임 상세는 조회 가능하되, 액션 버튼 비활성화 + “종료된 모임” 스타일은 디자이너와 협의.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions