웹페이지 전체 흐름 기준 API 정리

  1. 로그인

    1. GET 유저 oAuth 인증(구글) → FE
      • POST /auth/google
    2. 최초 로그인 여부 확인 (자동로그인에 필요)
      • GET /users/{userId}
    3. 최초 로그인일 경우 POST 새 유저 등록
      • POST /users
  2. 독서모임 추가(등록)

  3. 메인페이지

    1. 인기순 정렬된 독서모임 조회(메인페이지/4개만)
      • GET /clubs?sortby={likes}&tags={tags}&clubStatus={clubStatus}&keyword={keyword}&page={pageNum} → FE가 조회된 결과에서 4개만 골라 표시 (최신순:createdAt, 좋아요순:likes)
    2. 최신순 정렬된 독서모임 조회(메인페이지/4개만)
      • GET /clubs?sortby={createdAt}&tags={tags}&clubStatus={clubStatus}&keyword={keyword}&page={pageNum}
  4. 보드 페이지

    1. 전체 독서모임 리스트 조회(n개의 독서모임 조회) (기본 sorting은 최신순) -아래 d와 동일하나 d는 검색 결과나 태그로 정렬된 독서모임에 대한 정렬이라는 점에서 다르게 표시함. 기본적으로 본질은 같음
      • GET /clubs?sortby={createdAt}&tags=&clubStatus=&keyword=&page=1
    2. 태그, 검색어 키워드, 모집중 여부, 정렬 기준으로 필터링된 독서모임 조회, 검색 결과 독서모임 조회
      • GET /clubs?sortby={sortBy}&tags={tags}&clubStatus={clubStatus}&keyword={keyword}&page={pageNum} (sortBy - 최신순: createdAt, 좋아요순: likes/ tags - 소수정예, 온라인, 오프라인, 온/오프라인, 친목, 수도권, 지방, 독서 외 활동 → comma와 공백으로 태그 구분, 한글 / clubStatus - ACTIVE → 모집중, 없으면 관계없이 조회)
    3. 독서모임에 좋아요 클릭 (상세페이지에서도 가능)
      • POST /likedclubs
    4. 독서모임에 좋아요를 취소
      • DELETE /likedclubs?clubId={clubId}&userId={userId}
  5. 독서모임 상세 조회 (상세페이지)

    1. 독서모임 상세 정보 조회
      • GET /clubs/{clubId}
    2. 참여신청 버튼 클릭
      • POST /members
    3. 참여신청 취소
      • DELETE /members?userId={userId}&clubId={clubId}&delete={deleteStatus}
    4. 댓글 조회
      • GET /comments/clubs/{clubId}
    5. 댓글 등록
      • POST /comments
    6. 댓글 수정
      • PATCH /comments/{commentId} → PUT으로 변경
    7. 댓글 삭제
      • DELETE /comments/{commentId}
  6. 마이 페이지 (로그인 후 → 프로필 클릭)

    1. 내가 쓴 댓글 조회 (페이지네이션)
      • GET /comments/users/{userId}?page={pageNum}
    2. 내가 좋아요한 독서모임 조회 (페이지네이션)
      • GET /likedClubs/users/{userId}?page={pageNum}
    3. 내가 참여중인 독서모임 조회 (페이지네이션)
      • GET /members/users/{userId}?page={pageNum}
    4. 내가 운영중인 독서모임
      • 참여자 관리
        1. 승인 대기자 리스트 조회
          • GET /members?userId={userId}&approvalStatus=WAITING&page={pageNum}
        2. 승인 대기자 승인
          • PUT /members
        3. 승인 대기자 거절
          • DELETE /members?userId={userId}&clubId={clubId}&delete={deleteStatus} → 거절일때는 NO (없으면 그냥 사용자 측의 참여신청 취소, NO : 거절, OUT : 내보내기) → 동일 api로 참여자 내보내기, 독서모임 참여신청 취소 처리
        4. 참여자 목록 조회
          • GET /members?userId={userId}&approvalStatus=CONFIRMED&page={pageNum}
        5. 참여자 내보내기
          • DELETE /members?userId={userId}&clubId={clubId}&delete={deleteStatus} → 내보내기일때는 OUT
      • 내가 운영중인 독서모임 정보 조회
        • GET /clubs/users/{userId}
      • 독서모임 정보 수정
        • PATCH /clubs/users/{usersId} → PUT으로 변경
      • 독서모임 삭제
        • DELETE /clubs/users/{usersId}