Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Skeleton 애니메이션 변경, pr&issue 템플릿 변경, 글 수정 및 다중선택 컴포넌트 관련 버그 해결 #312

Merged
merged 8 commits into from
Aug 11, 2023

Conversation

inyeong-kang
Copy link
Member

@inyeong-kang inyeong-kang commented Aug 9, 2023

🔥 연관 이슈

close: #91
close: #271
close: #281
close: #302

📝 작업 요약

(91번 이슈✅)

  1. 스켈레톤 UI pulse 효과를 wave 효과로 변경하였습니다. (애니메이션 등 style 수정)
  2. 스켈레톤 컴포넌트에 isLarge 라는 props를 추가하였습니다.
    skeleton-storybook

(271번 이슈✅)
3. 글 수정 페이지에서 mock 데이터가 나오는 이슈를 해결하였습니다.

(281번 이슈✅)
4. 다중 선택 컴포넌트를 터치해야만 해당 컴포넌트가 닫히는 이슈를 해결하였습니다.
(useEffect를 이용하여 해당 컴포넌트의 외부 영역을 터치하면 컴포넌트가 닫히도록 하였습니다.)

(302번 이슈✅)
5. pull request, issue 템플릿에 소요 시간, 일정 추정 항목을 각각 추가하였습니다.

🔎 작업 상세 설명

interface SkeletonProps {
  isLarge: boolean; // (isLarge가 true이면 첫번째 박스의 세로 길이가 긴 형태입니다.)
}

🌟 논의 사항

Copy link
Collaborator

@Gilpop8663 Gilpop8663 left a comment

Choose a reason for hiding this comment

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

많은 이슈를 해결하셨네요!

전체적으로 코드가 깔끔해서 코멘트 남길 것이 보이지 않았어요

어프로브하겠습니다~

Comment on lines +18 to +36
skeletonGradientPulse: keyframes`
0% {
background-color: rgba(165, 165, 165, 0.1);
}

50% {
background-color: rgba(165, 165, 165, 0.3);
}

100% {
background-color: rgba(165, 165, 165, 0.1);
}
`,
skeletonGradientWave: keyframes`
to {
background-position-x: -200%;
}
`,
};
Copy link
Collaborator

Choose a reason for hiding this comment

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

꼼꼼하시네요 ! 👍👍👍

Copy link
Collaborator

@chsua chsua left a comment

Choose a reason for hiding this comment

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

좋아요!
이제 에러가 발생했을때 처리가 더 쉽겠군용
다른거 할 때 참고하기 너무 좋아요!
고생하셨습니다!

스켈레톤에 의견이 있어서 확인 부탁드립니다!

return (
<>
<PostForm data={MOCK_DATA} mutate={mutate} isError={isError} error={error} />
<PostForm data={MOCK_DATA} mutate={mutate} />
Copy link
Collaborator

Choose a reason for hiding this comment

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

정리 깔끔하네용

<S.SelectedOptionListContainer>
{selectedOptionList.length === 0 && <span>{placeholder} </span>}
{selectedOptionList.map(({ id, name }) => (
<S.SelectedOption key={id} onClick={(e: MouseEvent) => e.stopPropagation()}>
<S.SelectedOption key={id} onClick={(e: React.MouseEvent) => e.stopPropagation()}>
Copy link
Collaborator

Choose a reason for hiding this comment

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

그냥 mouseEvent에서 react.mouseEvent로 수정하신 이유가 궁금합니다!

Copy link
Member Author

Choose a reason for hiding this comment

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

React의 MouseEvent 타입과 document에서 쓰이는 MouseEvent 의 타입이 각각 있는데, 이 둘을 가독성 측면에서 명시적으로 구분해주기 위함입니다!

  • document 에서 쓰이는 MouseEvent 타입
 const handleOutsideClick = (event: MouseEvent) => {
    if (wrapperRef.current && !wrapperRef.current.contains(event.target as Node)) {
      setIsOpen(false);
    }
  };

  useEffect(() => {
    document.addEventListener('click', handleOutsideClick); 
    return () => {
      document.removeEventListener('click', handleOutsideClick);
    };
  }, []);
  • React에서 쓰이는 MouseEvent 타입
    image

Copy link
Member Author

Choose a reason for hiding this comment

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

처음에는 React에서 MouseEvent 타입을 import해서 썼었는데(아래처럼..)
import { MouseEvent } from 'react';

document의 MouseEvent 타입명이 같다보니 아래 같은 오류가 뜨더라구요...
image
그래서 오류 해결을 위해서라도 React.MouseEvent 로 고쳐줘야 했습니다!

export const FirstBox = styled(Box)`
height: 110px;
export const FirstBox = styled(Box)<{ $isLarge: boolean }>`
height: ${props => (props.$isLarge ? '250px' : '110px')};
Copy link
Collaborator

Choose a reason for hiding this comment

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

혹시 갑작스레 건의드려 죄송하지만 해당 부분을 px로 정의하기보다 vh는 어떠세요??
핸드폰 크기에 따라서 디스플레시 세로화면 길이가 되게 작다면 스켈레톤이 너무 크게 다가올 수도 있을 거 같아서요!

//40/30은 임의의 숫자 - 높이 확인 안해봄
$isLarge ? "40vh" : "30vh"

그러면 그 하위의 더 작은 스켈레톤은 이거를 기준으로 반/반의 반 정도로 하고
너무 높이가 긴 경우를 대비해 max-height를 지정해도 좋을 것 같아요.

Copy link
Member Author

Choose a reason for hiding this comment

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

제안 감사합니다! 반영 완료했어요!✅

if (isSuccess) {
navigate(`${PATH.POST}/${postId}`);
}
}, [isSuccess, navigate, postId]);
Copy link
Collaborator

Choose a reason for hiding this comment

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

bb 수정 성공하면 상세페이지로 이동하는거 좋아요

@woowacourse-teams woowacourse-teams deleted a comment from github-actions bot Aug 11, 2023
Copy link
Collaborator

@chsua chsua left a comment

Choose a reason for hiding this comment

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

빠른 피드백 감사합니다!!
고생하셨습니다!

@chsua chsua merged commit 1fc4dc7 into dev Aug 11, 2023
3 checks passed
@inyeong-kang inyeong-kang deleted the feat/#91 branch August 11, 2023 06:59
tjdtls690 pushed a commit that referenced this pull request Sep 12, 2023
* docs: (#302) 일정 추정 및 소요 시간 항목 추가

* refactor: (#271) 불필요한 props 제거

* fix: (#271) 글 수정 시 mock 데이터가 뜨는 오류 해결

* design: (#271) 제목, 내용 input css 수정

* feat: (#281) 다중선택 컴포넌트 외부 영역 선택 시 DropDown이 닫히도록 구현

* refactor: (#91) pulse animation을 wave로 변경 및 animation 관련 코드 theme으로 분리

* refactor: (#91) story 이름 수정, Skeleton 사용하는 파일에서 props 추가

* design: (#91) 스켈레톤 각 Box의 height 단위 px에서 vh 로 변경
chsua added a commit that referenced this pull request Sep 21, 2023
* 투표 작성 페이지의 투표 선택지 컴포넌트 UI 구현  (#40)

* feat: (#20) 삭제, 파일 업로드 버튼 컴포넌트 UI 구현

* feat: (#20) 이미지 업로드 버튼을 눌렀을 때 이미지 업로드 창이 나오도록 구현 및 파일명 변경

* feat: (#20) 투표 선택지 아이템 컴포넌트 UI 구현

* feat: (#20) 투표 선택지 작성 리스트 컴포넌트 UI 구현

* feat: (#20) 훅 테스트 코드 작성 시작

* test: (#20) 투표 선택지 작성에 사용하는 훅 테스트 작성

* feat: (#20) 투표 선택지 작성 훅 구현

* feat: (#20) 투표 선택지 작성 훅 적용 및 UI 구현

* feat: (#20) 50자 이상 적었을 때 사용자에게 안내 기능 구현

* feat: (#20) 사진의 이미지가 5MB가 넘어갈 경우 유저에게 안내하도록 구현

* design: (#20): 삭제 버튼을 감싼 태그가 항상 왼쪽의 공간을 차지하도록 CSS 변경

* refactor: (#20) svg 코드를 assets 폴더로 이동 후 import 하여 사용하도록 수정
회색 버튼을 cssText로 관리하여 공통으로 관리하도록 수정

* refactor: (#20) 코드 가독성을 위한 함수명, 변수명 수정

* design: (#20) 화면 크기에 따라 폰트, 버튼 사이즈 변경되도록 구현

* style: (#20) CSS 속성 순서 변경 및 불필요한 타입 선언 제거

* chore: (#20) 함수 동작 과정에 대한 설명 주석 추가

* chore: (#20) 테스트 문구 변경

* 공통 스타일링 속성 관리 및 페이지 라우팅 설정  (#42)

* feat: (#38) 페이지 라우팅 세팅
webpack.common.js 의 output 설정 추가
constants 폴더에 path 상수화
routes 폴더에 route들 추가
App.tsx에서 RouterProvider로 각 페이지 접근

* chore: (#38) 프로젝트 이름으로 title 변경

* feat: (#38) global style에 reset.css 추가

* feat: (#38) theme 으로 공통 스타일링 관리

* chore: (#38) 폴더명 변경

* feat: (#38) storybook에 라우터 설정 추가

* feat: (#38) 팀 CSS 컨벤션에 따라 globalStyle, theme 내용 수정

* refactor: (#38) 각 페이지에 대한 URL 명시

---------

Co-authored-by: chsua <113416448+chsua@users.noreply.github.com>

* 작성된 게시글 컴포넌트 구현_Feat/#24 (#53)

* feat: (#24) post 관련 type 생성

* feat: (#24) post 관련 mockData 생성

* feat: (#24) 게시물 하나 컴포넌트 구현

* test: (#24) 게시물 컴포넌트 테스트

- 미리보기 여부, 투표 여부에 따라 4가지 테스트 생성

* refactor: (#24) 게시물 mockData 내용 변경

* fix: (#15) style component props를 인식하지 못하는 오류 수정

- 오류메세지: React does not recognize the `isSelected` prop on a DOM element
- 해결방법: style을 위한 props은 앞에 $처리를 한다.

* refactor: 선택지 리스트 프롭스 중 handleVoteClick 인수명 변경

- 수정전: voteId
- 수정후: optionId

* feat: (#24) msw 게시글 투표, 투표수정 api 모킹코드 작성

* feat: 선택지 클릭 시 api통신하는 이벤트 작성

- 현재 모킹이 원활하지 않음
- 모킹의 문제인지, 기존 코드의 문제인지 모름

* fix: (#24) 오타로 인한 스타일 미적용 오류 해결

* fix: 오타로 인한 patch mock이 안되는 오류 수정

- 원인: url 오타

* fix: 스토리북에서 mocking이 안되는 오류 해결

- parameters에 핸들러를 추가하여 해결

* style: (#24) 불필요한 코드 삭제

* refactor: (#24) 불분명한 게시글 컴포넌트의 클릭핸들러 인자명 수정.

- 수정전: optionId
- 수정후: newOptionId

* refactor: (#24) 불분명한 게시글 게사자 속성명 수정.

- 수정전: nick
- 수정후: nickname

* refactor: (#24) 투표하지 않았을 경우의 selectOptionID인 0 상수화

* refactor: 투표 선택지 수정 api 함수 인수 수정

* TimePicker Modal 구현 (#45)

* refactor: (#34) 3개의 상태를 하나의 상태로 통합
일,시,분 3개의 상태를 하나의 객체로 합침

* refactor: (#34) TimePickerOptionList의 props로 state 전달

* chore: (#34) Modal 컴포넌트 스토리에 SquareButton import

* refactor: (#34) 시간 단위 관련 상수 분리

* feat: (#34) TimePickerOption 컴포넌트 최초 렌더링 시 currentTime 으로 스크롤 세팅

* feat: (#34) 마감시간 모달 내 초기화 버튼 구현

* feat: (#34) 초기화 버튼 누르면 모달창 닫히도록 구현

* refactor: (#34) confirm 메서드 앞에 window 추가

* chore: (#34) 오타 수정

* design: (#34) 모달 닫기 버튼 css 속성 추가

* feat: (#34) 초기화 버튼을 누르면 각 시간 옵션이 0으로 스크롤되고, 모달을 닫지 않도록 구현

* Delete frontend/src/pages/Post directory

중복되는 폴더 삭제

* feat: (#59) 스켈레톤 UI 구현 (#60)

* 투표 상세 통계 컴포넌트 제작_#54 (#56)

* feat: (#54) 투표 통계 mockData 생성

* feat: (#54) 투표 통계 관련 type, interface 생성

- 나이대 type
- 투표통계 총결과 interface

* feat: (#54) 그래프 공통 스타일 생성

* feat: (#54) 막대 하나 그래프 구현

* test: (#54) 막대 하나 그래프 사이즈별 테스트 구현

* feat: (#54) 막대 두개 그래프 구현

* test: (#54) 막대 두개 그래프 사이즈별 테스트 구현

* design: (#54) 그래프 공통 스타일 수정

* feat: (#54) 라디오를 포함한 투표 통계 결과 그래프 컴포넌트 구현

* test: (#54) 라디오를 포함한 투표 통계 결과 그래프 컴포넌트 테스트 구현

* refactor: 라디오를 포함한 투표 통계결과 그래프 컴포넌트명/폴더명 변경

- VoteResult -> VoteStatistics
- 수정이유: 투표결과 데이터 타입명과 중복

* style: (#54) styled component 파일 컨벤션에 맞춰 순서 수정

* refactor: (#54) 통계 컴포넌트 타입/인터베이스 오타 수정

* refactor: (#54) 그래프 스타일 상수화하여 코드 정리

* refactor: (#54) 공통된 그래프 프롭스 interface 리팩토링

* refactor: 투표 통계 나이대 속성 type 리팩토링

- 투표 나이대 상수화
- 투표 나이대 상수에서 나이대 type 추출
- VoteDetailResult를 value로 가지는 투표 나이대 객체 type 생성
- 기존 voteResult interface에 투표 나이대 객체 type 연결

* refactor: (#54) 몇몇 컴포넌트 반응형 웹 기준 상수화 적용

 - 게시글, 선택지, 투표 통계 컴포넌트

* refactor: (#54) 몇몇 컴포넌트 반응형 웹 기준 상수화 재적용

 - 게시글, 선택지, 투표 통계 컴포넌트

* 사이드바(Drawer) 컴포넌트 UI 구현 (#57)

* feat: (#41) 카테고리 토글 컴포넌트 UI 구현

* feat: (#41) 유저 정보 창 UI r구현중

* feat: (#41) 회원 유저 프로필 창 UI 구현

* feat: (#41) 비회원 프로필 창 UI 구현

* feat: (#41) 카테고리 타입 선언

* feat: (#41) 유저 타입 선언

* refactor: (#41) 선언한 타입으로 기존의 코드 변경

* feat: (#41) 사이드에 있는 유저 대쉬보드 컴포넌트 UI 구현

* feat: (#41) 공용 Drawer 컴포넌트 UI 구현
Drawer 사용 방법에 대한 예제 코드를 스토리북에 작성

* refactor: (#41) drawer 동작에 필요한 코드를 useDrawer 훅으로 분리

* design: (#41) 로그아웃 버튼이 잘못 위치한 부분 수정

* refactor: (#41) 유저의 정보를 받는 props 변수명을 가독성을 위해 변경
user => userInfo

* refactor: (#41) 코드 가독성과 예쁜 디자인을 위한 코드 수정

* 게시글 선택지 투표기능, 투표 수정기능 구현 (#47)

* feat: (#36) Vote 리파지터리 추가

* feat: (#36) 투표하는 기능, 포인트획득 기능 추가

* feat: (#36) 식별자를 통해 PostOption 찾는 기능 추가

- PostOption과 양뱡향 매핑 관계 등록

* feat: (#36) 자신이 작성한 글에는 투표하지 못하는 검증 추가

* feat: (#36) 게시글에 투표하는 API 기능 추가

* feat: (#36) 게시글에 투표수정 하는 API 기능 추가

* feat: (#36) 게시글 마감기간 검증 추가

* feat: (#36) 투표 수정시 같은 게시글인지 검증하는 로직 추가

* test: (#36) 테스트 코드 추가

* style: (#36) final 키워드 추가 및 어노테이션 순서 위치 변경

* feat: swagger 어노테이션 적용

* feat: 검증 기능 추가

- 투표 할때 이미 게시글에 투표를 했는지 검증하는 기능
- 투표 수정할때 기존에 투표가 존재하는지 검증하는 기능

* refactor: (#36) 멤버가 아닌 게시글을 통해 투표객체 만들도록 수정

* refactor: (#36) PostOptionRepository 추가, 투표 수정시 투표 엔티티 삭제후 저장하는 방식으로 수정

* test: (#36) 테스트코드 일부 추가

* fix: (#36) 필드 수정

* (비회원) 전체 카테고리 목록 조회 API 구현 (#52)

* feat: (#50) (비회원) 전체 카테고리 목록 조회 API 추가

* style: (#50) 개행 삭제

* refactor: (#50) 레코드 적용

* refactor: (#50) 개행 수정 및 Stream.toList() 사용

* style: (#50) 디스플레이 네임 오타 수정

* refactor: (#50) 커스터마이징 어노테이션 추가

* refactor: (#50) @Nested 적용

* feat: (#50) Swagger 어노테이션 추가

* jest 환경 설정(절대 경로, jest 환경 fetch) 및 배포 되도록 에러 코드 수정 (#73)

* chore: jest 절대 경로 및 fetch 관련한 환경설정

* chore: gitignore에 배포 폴더인 dist 폴더 추가

* fix: 프로젝트 실행 시 오류나던 부분 수정

* fix: 웹팩 실행 시 개발 환경에서만 dotenv 사용하도록 수정
프로젝트 빌드 시 .env를 찾을 수 없다는 오류 문구로 인해 수정

* chore: EOL를 위한 개행 추가

* 게시글 작성 기능 구현 (#69)

* feat: (#32) Post 관련 객체들을 객체지향적으로 재구성

* refactor: (#32) 실무의 관례에 따라 엔티티의 일급 컬렉션을 필드에서 바로 초기화 하는 것으로 개선

* feat: (#32) swagger 이미지 파일 테스트가 가능하도록 환경 설정

* feat: (#32) TCP 소켓을 통해 접속해야 어플리케이션과 콘솔이 동시에 접근했을 때 오류가 발생하지 않도록 url 개선

* feat: (#32) 게시글 작성 API를 위한 계층 구조 구현

* test: (#32) 게시글 작성 기능 테스트 구현

* refactor: (#32) 클라이언트로부터 데이터를 전달받을 때 선택지 내용을 String 리스트로 받는 것으로 개선

* refactor: (#32) 더 안전한 사진으로 변경

* refactor: (#32) JavaTimeModule을 가져오기 위한 의존성 생략

* refactor: (#32) 빌더 생성자 private으로 개선

* refactor: (#32) Request Dto의 이름을 더 명확한 역할이 나타나도록 개선

* :refactor: (#32) PostCreateRequest를 record로 개선

* :refactor: (#32) 공백 정리

* refactor: (#32) final 키워드 붙이기

* refactor: (#32) test 관련 어노테이션의 위치 개선

* refactor: (#32) final 키워드 붙이기

* refactor: (#32) H2 DB를 인메모리 형식으로 변경

* refactor: (#32) 클라이언트로부터 받은 데이터로 엔티티를 만드는 과정 수정

* refactor: (#32) 클래스 마지막 줄 개행 추가

* refactor: (#32) 테스트 관련 어노테이션 위치 수정

* refactor: (#32) 테스트 주석 수정

* refactor: (#32) 접근 제어자 protected로 개선

* refactor: (#32) final 붙이기 및 타입 명시

* (회원) 선호 카테고리 추가 기능 구현 (#70)

* feat: (#66) 선호 카테고리 추가하는 API 기능 구현

* test: (#66) Repository 테스트 추가

- 아이디를 통해 카테고리 조회 테스트
- 멤버카테고리 저장 테스트

* feat: (#66) Swagger 어노테이션 추가

* refactor: (#66) 개행 제거

* fix: (#66) 어노테이션 추가

* feat: (#66) 이미 선호 카테고리 목록에 있는 카테고리를 추가하는 경우를 검증하는 로직 추가

* refactor: (#66) 카테고리에 대한 자세한 검증 보충

* 공용 Select 컴포넌트 UI 구현 (#58)

* feat: (#43) 셀렉트 컴포넌트 UI 구현
스토리북 작성, 글로벌 CSS 설정, svg 파일 추가

* feat: (#43) 셀렉트 컴포넌트 사용 예시 스토리북 작성
셀렉트 부모에서 width 값을 지정해서 사용하도록 수정

* refactor: (#43) 코드 가독성을 위한 타입, 변수명 수정

* refactor: (#43) 셀렉트 컴포넌트에서 제네릭 타입을 받아서 사용하도록 수정
타입스크립트의 제네릭을 통해 안정성을 더하였음

---------

Co-authored-by: chsua <113416448+chsua@users.noreply.github.com>

* 게시글 통계 컴포넌트 제작_Feat/#65 (#75)

* feat: (#65) msw를 위한 mock 게시물 상세정보 생성

* feat: (#65) 한 게시물 상세정보 fetch mocking

* feat: (#65) 데이터, 로딩, 에러 정보 전달하는 fetch훅 생성

* feat: (#65) 게시물 하나 상세정보 fetch 함수 구현

* refactor: (#65) mockData 수정

* feat: (#65)  통계정보 get하는 api msw작성

* feat: (#65)  전체통계정보, 선택지 통계정보 get하는 fetch함수 작성

* refactor: (#65) useFetch 내 데이터이름 범용성 향성을 위해 수정

* feat: (#65)  통계그래프를 포함한 선택지 컴포넌트 생성

* test: (#65)  통계그래프를 포함한 선택지 컴포넌트 테스트 구현

* feat: (#65)  게시글 투표결과 통계 페이지 구현

* test: (#65)  게시글 투표결과 통계 페이지 테스트 구현

* feat: (#65) 로딩컴포넌트 구현

* test: (#65) 로딩컴포넌트 크기별 테스트

* refactor: 선택지변경 api 인자 interface 리팩터링

* style: (#65) 사용하지 않는 스타일컴포넌트 삭제 및 코드 정리

* feat: (#65) 통계컴포넌트에 로딩스피너 적용

* fix: (#65) 라디오 name속성이 공통되어 생긴 오작동 오류 수정

* refactor: ($65) map에 키 값 부여

* fix: 라디오에서 발생하는 checked 관련 오류 해결

- checked를 사용하는 경우 onChange 이벤트를 사용해야 함.
- 때문에 defaultChecked로 수정하여 해결

* feat: (#65) 모바일 화면 외 크기에서는 헤더 감추기

* style: (#65) 로딩스피너 오타수정

* style: (#65) css 컨벤션에 따라 순서 수정

* refactor: (#65) 불필요한 코드 정리

- key와 value가 같다면 value 기재 생략
- useFetch 인자 수정
- msw 테스트 정리
- 안쓰는 코드 각주 삭제

* refactor: (#65) 목적에 맞지 않는 선택지 통계 토글 함수명 수정

* feat: (#54) 헤더에 있는 이전페이지로 가기 버튼 navigate 연결

* refactor: (#65) font-size를 var로 수정

* refactor: (#65) 통계 컴포넌트 라디오 상태명 변경

- 수정전: nowRadioMode
- 수정후: currentRadioMode

* refactor: (#65) 대소문자/오탈자 수정

* 글 작성 및 수정 페이지 구현  (#72)

* fix: (#55) npm run dev 실행 시 발생하는 오류 해결, 라우팅 이슈 해결

* feat: (#55) 옵션에 따라 마감 시간을 가공하여 반환하는 함수 구현

* feat: (#55) 컴포넌트를 열고 닫는 커스텀 훅 구현

* feat: (#55) 글 작성 및 수정 관련 API, 커스텀 쿼리 훅 구현

* feat: (#55) 글 작성 및 수정 폼 구현

* feat: (#55) 글 작성 및 수정 페이지 구현, 페이지 라우팅 구현

* feat: (#55) 글 수정을 위해 url 파라미터를 가져오는 로직 구현

* refactor: (#55) 선택지 TextArea, FileInput 에 name 속성 추가

* refactor: (#55) 선택지 TextArea, FileInput 에 name 속성 변경

* feat: (#55) 글 작성/수정 폼에 이미지 파일 옵션 추가

* feat: (#55) msw로 글 작성/수정 API 모킹

* fix: (#55) form 태그 내에서 임의의 button 누르면 submit 이벤트가 일어나는 오류 해결
submit을 위해 만든 button이 아닌 경우, type='button' 속성을 추가함

* feat: (#55) useMutation 함수 반환값으로 isLoading, isError, error 추가

* feat: (#55) query key 상수화

* fix: (#55) Uncaught SyntaxError: Unexpected token ' in JSON 에러 해결
handler 함수들의 반환 값에 ctx.json 추가

* fix: (#55) 이미지 업로드 후 그림 버튼이 렌더링되는 이슈 해결

* feat: (#55) multipart 데이터 경우에 대한 fetch 함수 구현

* chore: (#55) 불필요한 name 속성 삭제

* chore: (#55) props 추가

* refactor: (#55) PostForm의 data props를 기존의 PostInfo 타입으로 변경

* refactor: (#55) request로 보낼 데이터의 타입을 FormData로 변경

* refactor: (#55) mocking 함수 url, 상태 코드 수정

* fix: (#55) 작성시간인 startTime의 유무에 따라 now값을 선언하여 Invalid Date 에러 해결

* refactor: (#55) mutate props 타입 좁히기

* refactor: (#55) 기준 시간에 마감 시간 옵션을 더해 마감 기한을 반환하는 함수 리팩터링
직관적인 함수명으로 변경
utils/post 로 파일 이동
데이터의 내용을 잘 드러내는 파라미터 이름으로 변경

* refactor: (#55) queryKey 객체의 키 값 대문자로 수정

* refactor: (#55) PostForm 컴포넌트 self-closing-tag 로 변경

* chore: (#55) 불필요한 파일 삭제

* feat: (#55) API 통신 중 에러의 경우 에 대한 처리 추가

* refactor: (#55) error 객체를 props에 추가하여 에러 메시지를 보여주도록 수정

* refactor: (#55) styled component 변수명 수정

* refactor: (#55) onError에서  error 객체 콘솔에 출력

* feat: (#55) 구체적인 마감 시간에 대한 설명 컴포넌트 추가

* feat: (#55) input 또는 textarea를 제어하는 커스텀 훅 구현

* design: (#55) OptionListWrapper css 수정, 반응형 구현

* chore: (#55) 불필요한 코드 삭제

* (회원) 선호 카테고리 삭제 기능 구현 (#79)

* feat: (#67) (회원) 선호 카테고리 삭제 API 기능 구현

* feat: (#67) Swagger 어노테이션 추가

* test: (#67) Controller 단위테스트, Service 통합테스트 추가

- 이전에 누락된 테스트 코드까지 추가함

* style: (#67) final 키워드 추가

* refactor: (#68) CategoryResponse 파라미터 값 수정

* feat: (#68) (회원) 카테고리 목록 전체 조회 API 추가

* teat: (#68) (회원) 레파지토리 테스트 추가

* teat: (#67) 선호하는 카테고리에 없는 카테고리를 삭제하는 경우 예외 테스트 추가

* refactor: (#67) 개행 및 스태틱 임포트 리펙터링

* feat: (#67) Swagger 어노테이션 에러 응답 설명 추가

* refactor: (#67) url 오타 수정

* refactor: (#67) 개행 및 컨벤션 수정

* 선택지 통계 조회 기능 구현 (#83)

* chore: (#77) 코드 컨벤션 정렬

* feat: (#77) 공통 예외 처리 구현

* feat: (#77) 동적 쿼리 사용을 위한 querydsl 추가

* refactor: (#77) 레포지토리 테스트 어노테이션 리팩토링

* feat: (#77) 연령, 성별로 그룹화하여 투표 수 조회 기능 구현

* feat: (#77) 게시글 투표 옵션에 대한 투표 통계 조회 기능 구현

* feat: (#77) 게시글 투표 옵션에 대한 투표 통계 조회 API 구현

* chore: (#77) 코드 컨벤션 정렬

* refactor: (#77) querydsl 의존성 제거

* refactor: (#77) 변수 사용 시 변수명과 동일할 때 불필요한 어노테이션 제거

* refactor: (#77) 멤버 도메인 변경으로 인한 테스트 코드 수정

* 회원가입 및 로그인 & 인가 기능 구현 (#82)

* feat: (#29) 카카오 OAuth를 통해 정보를 받아서 가입하는 기능 구현

* chore: (#29) OAuth API요청에 대한 환경변수 설정

* feat: (#29) Member의 랜덤 닉네임을 지정하기 위한 수 생성기 구현

* chore: (#29) JJWT라이브러리 의존성 추가

* feat: (#29) 로그인한 회원에 대한 정보를 JWT로 반환하는 기능 추가

* chore: (#29) 토큰 관련 환경변수 설정 추가

* refactor: (#29) ResponseDto를 record형식으로 변환

* feat: (#29) 인증정보를 확인하는 AuthenticationFilter구현

* feat: (#29) 멤버가 존재하는지 확인한 후 반환하는 ArgumentResolver구현

* test: (#29) loginWithKakao메서드에 대한 컨트롤러 단위 테스트 작성

* refactor: (#29) Member엔티티 필드명 수정 및 추가

* test: (#29) Member 등록에 대한 검증 추가

* chore: (#29) test를 위한 yaml파일을 추가하여 환경 분리

* refactor: (#29) conflict 해결

* refactor: (#29) Controller Swagger를 위한 어노테이션 추가

* feat: (#29) CORS설정 및 ArgumentResolver등록

* chore: (#29) test환경 환경변수만 존재하도록 수정

* refactor: (#29) 네이밍, 상수화, 위치변경 등의 작업 수행

* fix: (#29) 멤버의 이름에 포함되는 숫자가 고정되는 문제 해결

* refactor: (#29) ObjectMapper Bean으로 등록

* refactor: (#29) 매직넘버 상수화 및 변수, 메서드명 수정

* refactor: (#29) @JsonProperty를 @JsonNaming으로 변경

* chore: (#29) test용 production url 수정

* refactor: (#29) 상수 및 변수명 수정

* test: (#29) 토큰에 대한 검증 추가

* refactor: (#29) 토큰을 파싱할 때 유효성 검사 추가

* refactor: (#29) 로그인 api nickname 필드 추가

* refactor: (#29) 토큰 검증 DisplayName 변경

* refactor: (#29) Swagger tag name 변경

* refactor: (#29) TokenProcessorTest의 필드를 빈을 사용하도록 변경

* (회원) 전체 카테고리 목록 조회 기능 구현 (#89)

* feat: (#67) (회원) 선호 카테고리 삭제 API 기능 구현

* feat: (#67) Swagger 어노테이션 추가

* test: (#67) Controller 단위테스트, Service 통합테스트 추가

- 이전에 누락된 테스트 코드까지 추가함

* style: (#67) final 키워드 추가

* refactor: (#68) CategoryResponse 파라미터 값 수정

* feat: (#68) (회원) 카테고리 목록 전체 조회 API 추가

* teat: (#68) (회원) 레파지토리 테스트 추가

* teat: (#67) 선호하는 카테고리에 없는 카테고리를 삭제하는 경우 예외 테스트 추가

* refactor: (#67) 개행 및 스태틱 임포트 리펙터링

* feat: (#67) Swagger 어노테이션 에러 응답 설명 추가

* fix: (#68) 파라미터 반환값 수정

* test: (#68) 서비스, 컨트롤러 테스트 추가

* refactor: (#67) url 오타 수정

* refactor: (#67) 개행 및 컨벤션 수정

* feat: (#68) Swagger 어노테이션 추가

* style: (#68) 개행 삭제

* style: (#68) 개행 수정

* refactor: (#68) @Nested 삭제

- 카테고리를 조회하는 기능에서 보면 같으나 멤버, 비회원으로 나누어진 메서드므로 해당 어노테이션을 제거함

* refactor: (#68) 들여쓰기 제거

* refactor: (#68) @Param 어노테이션 추가

- 다즐로컬에서는 테스트가 잘 작동했는데 루쿠로컬에서는 테스트가 작동하지 않는 오류가 발생했음. 안전하게 어노테이션 추가함.

* refactor: (#68) 시크릿 키 디코딩 제거

* feat: (#97) GlobalExceptionHandler 로그 추가 (#98)

* 공통된 타입/데이터/상수/페이지 등 파일 정리 및 코드 리팩토링 (#99)

* refactor: (#94) msw 관련 함수명 통일, 목 데이터 분리

* refactor: (#94) 목 데이터의 형식을 json에서 ts로 변경

* chore: (#94) tsconfig.json 설정 추가

* refactor: (#94) api 폴더 통합

* refactor: (#94) 상수 폴더 통합

* design: (#94) 폰트 속성을 전역 변수로 설정

* style: (#94) import 폴더 경로 재설정

* style: (#94) CSS색상 속성 전역 변수로 수정

* refactor: (#100) CORS origins, method 수정 (#101)

* fix: (#103) map에서 code가 중복으로 들어가는 문제 해결 (#104)

* 레이아웃 컴포넌트 구현 (#87)

* feat: (#62) 레이아웃 컴포넌트 구현

* refactor: (#62) 사이드바를 숨기는 여부의 props 변수명 변경

* 게시글 상세페이지 컴포넌트_Feat/#78 (#84)

* feat: (#78) 헤더 밑 택버튼 구현

* test: (#78) 헤더 밑 택버튼 사이즈별 테스트

* design: (#78) 헤더 글자 버튼 색상 변경(미정 -> 흰)

* feat: (#78) 게시글 get, 게시글 삭제, 조기종료 mocking을 위해 설정

* feat: (#78) 게시글 get, 게시글 삭제, 조기종료 관련 api 작성

* feat: (#78) get을 위한 useFetch 훅 작성

* feat: (#78) 게시물 상시페이지 폴더 이동 및 구현

* test: (#78) 게시물 상시페이지 글쓴이/그외 사용자 테스트 구현

* feat: (#78) 시작시간과 마감시간을 비교해 마감되었는지 확인하는 유틸함수 구현

* feat: (#78) 탭/웹인 경우 하단으로 버튼 이동, 마감 여부에 따른 버튼 감추기

- 신고, 조기마감, 수정, 삭제 : 모바일 -> 헤더, 탭-웹 -> 하단에 위치
- 게시글 리스트 페이지로 이동하는 함수명 의도에 맞게 수정

* fix: (#78) navigate URL 수정

* refactor: (#78) 상수 파일 오타 수정 및 기존 상수 폴더로 이동

* feat: (#78) useFetch 훅에 게시글 재패치 함수 return 추가

* test: (#78) 조기마감 버튼을 누르는 경우 마감되는지 확인하기 위한 msw로직 추가

* refactor: (#78) 게시글 상세 페이지 하단 버튼 부분 컴포넌트로 분리

* test: (#78) 게시글 상세 페이지 하단 버튼 부분 컴포넌트 테스트 작성

* refactor: (#78) 게시글 상세 페이지 헤더 안 부분 컴포넌트로 분리

* test: (#78) 게시글 상세 페이지 헤더 안 부분 컴포넌트 테스트

* refactor: (#78) 게시글 상세 페이지의 하단, 헤더 안 분리 적용

* fix: (#78) 마감여부 확인 로직, 게시물 등록시간으로 인한 오류. 현재시간으로 수정

* fix: (#78) 라우터에서 상세페이지 컴포넌트 프롭스가 없어 발생하는 오류 수정

* test: (#78) 상세페이지 프롭스 변경에 따른 테스트 코드 변경

* fix: (#78) 변경된 게시글 상세페이지 컴포넌트명으로 수정

* design: (#78) 헤더 상단 고정

* refactor: (#78) 변수/인자명 수정

* chore: (#78) dev 브런치와 병합을 위한 머지

---------

Co-authored-by: Gilpop8663 <wolfye@naver.com>

* 홈페이지에서 사용할 전체 게시글 리스트 컴포넌트 구현 (#85)

* feat: (#61) 위로가기 버튼 UI 구현

* feat: (#61) 게시글 전체 리스트 패치 함수 구현 및 모킹 코드 구현

* test: (#61) 게시글 전체 리스트를 불러오는 훅 테스트 작성

* feat: (#61) 게시글 리스트 컴포넌트 생성

* test: 전체 게시글 목록 패치하는 훅과 함수 테스트 작성

* feat: (#61) 게시글 목록 컴포넌트 구현

* refactor: (#61) 전체 게시글 목록 Mock 데이터 코드를 파일로 분리

* refactor: (#61) 유저 정보 Mock 데이터 코드 파일로 분리

* refactor: (#61) 카테고리 목록 Mock 데이터 코드 파일로 분리

* design: (#61) 게시글 목록 컴포넌트에 임시 셀렉트 컴포넌트 배치

* feat: (#61) 게시글 목록 페이지 컴포넌트 구현

* chore: (#61) query에 관련된 훅 테스트 폴더 분리

* feat: (#61) 클라이언트에서 사용할 게시글 진행 상태, 정렬 옵션 타입 지정

* feat: (#61) 게시글 목록을 게시글 진행 상태, 정렬 옵션에 따라 요청을 다르게 보내도록 구현

* feat: (#61) 전체 게시글을 패치하는 훅에서 진행 상태, 정렬에 따라 다르게 요청하도록 구현

* feat: (#61) 셀렉트에 사용하는 커스텀 훅 구현

* feat: (#61) 게시글 목록 페이지에 셀렉트 훅 적용

* feat: (#61) 전체 게시글 목록 패치할 때 페이지 번호를 받도록 수정

* feat: (#61) msw 데이터를  무한 스크롤에 맞게끔 변경, 테스트 코드 변경

* refactor: (#61) 반복된 테스트 코드 삭제 및 게시글 목록 패치하는 훅 페이지를 받도록 수정

* design: (#61) 셀렉트 열렸을 때 옵션들이 가려지던 부분 수정
셀렉트 열렸을 때 border 선 두께가 달라져서 아래의 스타일이 영향을 받던 문제 수정

* feat: (#61) 무한 스크롤 훅 구현

* feat: (#61) 마지막 게시글 목록의 8번째의 게시글이 보이면 패치하도록 구현

* feat: (#61) 게시글 리스트 목록 타입 선언

* fix: (#61) 셀렉트의 값을 다르게 요청보내던 것 수정

* design: (#61) 헤더 zIndex 설정 및 글로벌 스타일 zIndex 설정

* refactor: (#61) CSS 속성이 없는 스타일 컴포넌트를 html tag로 변경

* refactor: (#61) api를 감싸는 함수 삭제 후 getPostList 함수 내에서 원하는 객체로 return 하도록 수정
가독성을 위해 변수명 수정

* refactor: (#61) 타입, 상수 코드를 파일로 분리 및  타입 이름 수정

* design: (#61) 불필요한 CSS 코드 삭제

* refactor: (#61) 타입, 상수 관련 팀 코드 컨벤션 변경으로 인한 수정

* feat: (#61) 게시글 내용을 눌렀을 때 상세 페이지로 가도록 구현
상세 페이지에서는 동작하지 않도록 구현

---------

Co-authored-by: chsua <113416448+chsua@users.noreply.github.com>

* 배포를 위해 현재 발생한 오류 해결 및 페이지 생성_Feat/#106 (#117)

* fix: (#106) 제거된 게시글 삭제 api, 조기마감 api 재생성

* fix: (#106) 게시글 get하는 api 함수명 수정이 미적용되어 발생하는 오류 해결

* fix: (#106) type이 불분명하여 발생하는 오류 해결

- string -> Size

* fix: (#106) Size 타입 이동으로 인한 오류 해결

- 경로 수정

* fix: 머지에 따른 오류 해결

Co-authored-by: 김영길/KIM YOUNG GIL <Gilpop8663@users.noreply.github.com>

* feat: (#106) 컴포넌트 페이지 연결

Co-authored-by: 김영길/KIM YOUNG GIL <Gilpop8663@users.noreply.github.com>
Co-authored-by: jero_kang <inyeong-kang@users.noreply.github.com>

---------

Co-authored-by: 김영길/KIM YOUNG GIL <Gilpop8663@users.noreply.github.com>
Co-authored-by: jero_kang <inyeong-kang@users.noreply.github.com>

* 카테고리 정보를 불러오는 패치 api 함수 구현 및 msw mocking 구현 (#90)

* test: (#64) 카테고리애 대한 통신 테스트 코드 작성

* feat: (#64) 카테고리 리스트 mock 데이터 선언

* feat: (#64) 카테고리에 대한 통신 함수 구현

* feat: (#61) 카테고리 리스트 관련된 msw 코드 작성
서버에서 오는 카테고리 리스트 타입 선언

* refactor: (#64) 테스트에 대한 설명하는 문장 수정

* refactor: (#64) 코드 가독성을 위해 타입 이름 변경

---------

Co-authored-by: chsua <113416448+chsua@users.noreply.github.com>

* 유저 정보를 불러오는 패치 api 함수 구현 및 msw mocking 구현 (#107)

* feat: (#63) 유저 정보를 불러오는 패치 api 함수 구현 및 msw mocking 구현

* test: (#63) 유저 정보 테스트 코드 추가

* refactor: (#63) 코드 가독성을 위해 타입 이름 변경

---------

Co-authored-by: chsua <113416448+chsua@users.noreply.github.com>

* 카카오에 엑세스 토큰 요청 시 타입 설정 및 회원 닉네임 반환 오류 수정 (#122)

* fix: (#121) 사용자 닉네임이 정확하기 반환되지 않는 오류 수정

* refactor: (#121) 카카오 서버에 엑세스 토큰을 요청할 때 헤더 타입 설정

* 전체 통계 조회 기능 구현 (#112)

* feat: (#76) 게시글의 연령대, 성별로 그룹화된 투표 통계 조회 기능 구현

* feat: (#76) 게시글에 대한 전체 투표 통계 조회 기능 구현

* feat: (#76) 게시글에 대한 전체 투표 통계 조회 API 구현

* chore: (#76) 코드 컨벤션 수정

* test: (#76) 테스트 픽스처 사용

* refactor: (#76) 멤버 인증 수행

* feat: (#76) 인증 필터 Swagger 제외

* refactor: (#76) 게시글 작성자 검증 메서드 분리

* refactor: (#76) 게시글 도메인 검증으로 변경

* 카테고리별 게시글 조회 기능을 위해 getPostList 함수 수정 이후 usePostList 훅 추가 기능 구현 (#113)

* feat: (#110) 게시글 목록 패치 함수 및 훅에서 카테고리별 게시글 목록을 불러오도록 수정

* feat: (#110) PostList 컴포넌트에서 categoryId를 이용해 카테고리별 게시글 목록을 요청할 수 있도록 구현

* refactor: (#110) 컴포넌트에서만 사용되는 상수의 위치 변경

* refactor: (#110) URLSearchParams에서 useSearchParams로 변경

* refactor: (#110) 카테고리별 글 목록 URL을 반환하는 함수의 이름 변경 및 반복되는 코드 변경

* refactor: (#110) 카테고리별 게시글 URL 경로 및 API 연동 코드 추가

* 통계페이지 등 전체 스타일 수정하기_Feat/#123 (#132)

* chore: msw 오류를 해결하기 위한 msw 1.2.3 버전으로 업그레이드

* feat: (#123) 라우팅 경로 추가

* feat: (#123) 웹용 헤더 로고 누르면 메인 페이지로 이동

* test: (#123) 웹용 헤더 기능 추가에 따른 테스트 변경

* design: (#123) 데스크탑용 리스트 가로길이 변경(500px->700px)

* refactor: (#123) 중복되는 기능 함수 합치기

* refactor: (#123) 레이아웃 컴포넌트와 동일 기능을 하는 스타일드 컴포넌트 삭제

* feat: (#123) 홈페이지를 제외한 페이지 컴포넌트에 레이아웃 컴포넌트 적용

* style: (#123) 불필요한 파일 삭제

* design: (#123) 헤더 상단 고정

* design: (#123) 검색바 svg 버튼색을 헤더색으로 설정

* design: (#123) 모바일버전 main 태그 상단margin 추가

* design: (#123) 선택지 margin 줄이기

* refactor: (#123) 레이아웃의 프롭스 정보를 컴포넌트 안에서 만들도록 수정

- 정보: 유저정보, 카테고리 목록, 카테고리 선호목록, 선호 카테고리 추가/삭제 이벤트

* test: (#123) 프롭스 수정에 따른 테스트 수정

* feat: (#123) 게시글 작성/수정 페이지에 레이아웃 컴포넌트 적용

* design: (#123) 글작성 폼 중앙정렬

* design: (#123) 게시글 내 정보(제목, 작성자 등)간 간격 넓히기

* refactor: (#123) 팀 코드 컨벤션에 맞게 클릭 함수명 수정

* test: (#123) 함수명/프롭스명 수정에 따른 테스트코드 변경

* design: (#123) 사이드바 Drawer 세로 일부 공백 제거

* refactor: (#123) 다른 pr과 충돌을 방지하기 위해 라우터 초기화

* webpack prod에서 .env를 사용하도록 수정 & jest에서 .env 파일 인식하도록 설정 (#135)

* chore: (#125) webpack prod에서 .env를 사용하도록 수정

* chore: (#125) jest에서 .env 인식할 수 있도록 설정

* chore: (#125) .env.test EOL을 이유로 개행 추가

* .env 파일 타입 선언 및 router 및 경로 설정 (#133)

* feat: (#124) .env 파일에 타입을 적용하여 자동 완성 되도록 적용

* feat: (#124) path, router 설정 및 잘못된 URL 경로 수정

* chore: (#124) 스타일드 컴포넌트 이름 수정 및 상수 URL 사용

* fix: (#138) Swagger URI 허용하도록 수정 (#142)

* feat: (#143) 리버스 프록시 헤더 설정 추가 (#144)

* 게시글 수정 api 변경에 따른 적용_Feat/#145 (#147)

* 카테고리별 게시글 조회 기능을 위해 getPostList 함수 수정 이후 usePostList 훅 추가 기능 구현 (#113)

* feat: (#110) 게시글 목록 패치 함수 및 훅에서 카테고리별 게시글 목록을 불러오도록 수정

* feat: (#110) PostList 컴포넌트에서 categoryId를 이용해 카테고리별 게시글 목록을 요청할 수 있도록 구현

* refactor: (#110) 컴포넌트에서만 사용되는 상수의 위치 변경

* refactor: (#110) URLSearchParams에서 useSearchParams로 변경

* refactor: (#110) 카테고리별 글 목록 URL을 반환하는 함수의 이름 변경 및 반복되는 코드 변경

* refactor: (#110) 카테고리별 게시글 URL 경로 및 API 연동 코드 추가

* refactor: (#145) 글 수정 api, body형태 수정에 따른 수정

* style: (#145) console.log 삭제

* refactor: (#145) 각주처리한 nav 활성화

* refactor: (#123) 글 작성 api 형식 변경에 따른 수정

* refactor: (#123) 선택지 내용입력 element 타입 지정하기

* feat: (#145) 글 작성 api 형식 변경에 따른 수정

---------

Co-authored-by: 김영길/KIM YOUNG GIL <80146176+Gilpop8663@users.noreply.github.com>

* 회원 정보 조회 기능 구현 (#137)

* fix: (#121) 사용자 닉네임이 정확하기 반환되지 않는 오류 수정

* feat: (#81) 회원 정보 조회 기능 구현

* test: (#81) post,vote 개수에 대한 repository 검증 추가

* refactor: (#81) 회원정보 dto 변수명 변경

* test: (#81) 회원 정보 조회를 위한 컨트롤러 검증 추가

* refactor: (#81) swagger 설정용 어노테이션 추가

* refactor: (#81) 회원 정보 조회 검증에서 불필요한 코드 제거

* refactor: (#81) 불필요한 코드 제거 및 conflict 해결 도중 삭제된 테스트 추가

* 웹 화면에서 글 게시글 작성 저장 버튼이 보이도록 수정 및 스타일 수정 (#140)

* design: (#136) 웹, 모바일 디자인을 피그마를 토대로 수정

* feat: (#136) 웹용 저장 버튼에서 submit이 가능하도록 구현

* feat: (#136) 마감 시간 중 값이 0인 것은 보여주지 않는 기능 구현

* style: (#136) CSS 속성 순서 변경 및 사용하지 않는 스타일드 컴포넌트 코드 제거

* 내가 작성한 게시글 조회, 내가 투표한 게시글 조회 기능 구현 (#148)

* chore: (#127) jest에서.env를 인식하는 방법 변경
npm run test는 잘되지만 개별 테스트 실행에서 오류가 나는 이유로 변경

* feat: (#127) 카테고리별 목록 요청 url 변경, 내가 작성한 게시글, 내가 투표한 게시글 요청 함수 구현
wus폴더에 있는 것을 api 폴더로 이동
mockData에서 postList 생성하는 방식 변경

* refactor: (#127) 타입 이름 변경 및 선언 방식을 상수를 한번만 사용하도록 변경, 파일 이동

* refactor: (#127) api을 요청할 때 url 옵션의 query 값 변경된 부분 적용

* refactor: (#127) 게시글 목록을 불러오는 훅 변경

* feat: (#127) path의 값을 구하는 유틸 함수 구현

* feat: (#127) 카테고리 아이디, 현재 어느 URL인지 반환하는 훅 구현

* fix: (#127) posts/:id가 posts/me 보다 앞에 있어서 MSW가 잘못된 동작을 하던 것을 수정

* refactor: (#127) requestKind라는 변수명을 content로 변경

* refactor: (#127) post에 관련된 상수 오브젝트의 키값을 상수화

* refactor: (#127) 현재 URL로 게시글 정보를 알려주는 훅 이름 및 파일 경로 변경

* refactor: (#127) 중복되는 타입을 Omit을 이용하여 타입 지정

* refactor: (#127) path 상수에서 뒤에 아이디가 붙은 것을 제거
path 상수를 이용하기 좋도록 수정하였음, 아이디가 붙으면 상수를 이용하는 곳이 없을 것이라고 생각함
post의 path로 정보를 확인하는 훅에서 상수 사용

* husky 설치, git commit/push 전 lint 오류 검사 자동화 (#150)

* feat: (#92) husky 설치 및 세팅
git commit 및 push 된 코드에 대한 eslint 검사함

* chore: (#92) husky pre-commit 동작하는지 테스트2

* refactor: (#92) 불필요한 명령어 삭제

* refactor: (#92) jest 테스트 시 필요한 env 설정 추가

* 닉네임 수정 기능 구현 (#159)

* feat: (#139) 회원 닉네임 변경 기능 추가

* test: (#139) 닉네임 변경과 연관된 레포지토리 검증 추가

* test: (#139) 닉네임 변경과 연관된 서비스 검증 추가

* test: (#139) 회원 닉네임을 변경하는 컨트롤러 검증 추가

* refactor: (#139) bean validation 및 swagger설정 추가

* test: (#139) 컨트롤러 변경 실패 검증 추가

* refactor: (#139) 닉네임 변경 dto 클래스 명 수정

* refactor: (#139) 닉네임을 값 객체로 변경

* 댓글 작성 기능 구현 (#151)

* feat: (#128) 댓글 도메인 구현

* feat: (#128) 댓글 등록 기능 구현

* feat: (#128) 게시글 댓글 작성 API 구현

* feat: (#128) Swagger Auth 설정 추가

* feat: (#128) Swagger 문서화

* feat: (#128) Swagger 환경에 따른 설정 분리

* refactor: (#128) 사용하지 않는 의존성 삭제

* refactor: (#128) 메서드에 사용되는 객체 추출

* fix: (#128) 테스트에서 사용하지 않는 설정 삭제

* refactor: (#128) 명확한 의미를 가진 메서드명으로 수정

* refactor: (#128) 게시글이 존재하지 않을 때 예외 수정

* refactor: (#128) applicaion/json 기본 설정 제거

* refactor: (#128) 커스텀 예외 처리 방식 수정

* feat: (#128) 테스트 쿼리 확인 설정 추가

* 전체 게시글 목록 조회 기능 구현 (#93)

* refactor: (#88) 게시글 작성 시, 클라이언트로부터 받는 데이터를 매핑하는 Dto 이름 개선

* refactor: (#88) 컨트롤러 통합 테스트 삭제

* refactor: (#88) 수월한 디버깅을 위해 member toString 추가

* feat: (#88) 조건에 따라 전체 게시글을 정렬해서 조회하는 기능 구현

* feat: (#88) 클라이언트에게 데이터 전달하기 위한 response 생성

* test: (#88) 테스트 없는 메서드 테스트 코드 추가

* refactor: (#88) 서비스 메서드 트랜잭션 어노테이션 붙이기

* refactor: (#88) 이미지 삭제

* refactor: (#88) 이미지 저장 경로 변경

* refactor: (#88) 게시글 작성 시, 필요없는 파라미터 개선

* refactor: (#88) PostOptions 생성하는 코드 개선

* refactor: (#88) dto에 데이터 정제 로직들을 도메인으로 옮김

* refactor: (#88) sql문을 더 보기 쉽게 하기 위해 개행 추가

* refactor: (#88) 원시 타입을 래퍼 클래스 타입으로 변경

* refactor: (#88) 개행 없어야 하는 부분 개행 지우기

* refactor: (#88) 전체 게시글 목록 조회 기능 테스트 메서드 명 더 명확하게 개선

* refactor: (#88) enum 상수들 개행

* refactor: (#88) EqualsAndHashCode의 supercall 속성 삭제

* refactor: (#88) PostOption의 EqualsAndHashCode 삭제

* refactor: (#88) 테스트용 yml 파일 필요없는 설정 삭제

* refactor: (#88) Member 파라미터에 final 붙이기

* refactor: (#88) swagger 관련 어노테이션 중 500 에러 관련 어노테이션 생략

* refactor: (#88) 페이지 넘버 파라미터 타입을 원시 타입으로 변경

* refactor: (#88) response 변수명 더 간결하게 개선

* refactor: (#88) 투표 결과를 볼 수 있는지 판단하는 메서드를 작성자인 경우에도 볼 수 있도록 수정

* refactor: (#88) Repository의 메서드 파라미터에 final 붙이기

* refactor: (#88) isWriter의 테스트 코드 수정

* refactor: (#88) 테스트 코드에서 final 키워드 삭제

* refactor: (#88) 클래스, 필드명을 더 명확하게 개선

* refactor: (#88) Dto클래스의 이름에서 불용어인 Info 삭제

* refactor: (#88) selectedOption 의 역할이 sequence가 아닌 id가 되도록 변경

* refactor: (#88) 파라미터인 Member의 위치를 맨 밑으로 수정

* refactor: (#88) 게시글 조회 반환 값인 response dto의 생성을 정적 팩토리 메서드가 하도록 개선

* refactor: (#88) 래퍼 클래스 타입을 원시 타입으로 변경

* refactor: (#88) 연관관계 편의 메서드에 양방향에 추가하는 로직을 몰아 넣기

* refactor: (#88) 스트림에서 하나만 빼낼 시, findFirst 대신 findAny로 찾는 것으로 변경

* 회원 탈퇴 기능 구현 (#162)

* feat: (#141) 회원 탈퇴 기능 구현

* chore: (#141) 회원 탈퇴 swagger적용

* 댓글 삭제 기능 구현 (#161)

* feat: (#131) 댓글 작성자, 게시글 검증 기능 구현

* feat: (#131) 댓글 삭제 기능 구현

* feat: (#131) 댓글 삭제 API 구현

* refactor: (#131) 댓글 삭제 문서 수정

* refactor: (#131) 인증된 멤버 매개변수 위치 수정

* fix: (#131) 게시글 변수명 수정에 따른 빌더 체이닝 메서드명 수정

* chore: (#131) 코드 컨벤션 정리

* 글 작성/수정 시 본문에 사진 추가/삭제 기능 구현_Feat/#155 (#160)

* feat: (#155) 게시글 타입에 본문 imageUrl 속성 추가

* feat: (#155) 글 작성/수정 페이지에 본문 사진/삭제 및 사진추가버튼 UI 구현

* feat: (#155) 본문 사진 부분 컴포넌트 분리 및 업로드 버튼 이벤트 구현

* feat: (#155) 업로드한 사진 미리보기로 보여주기 기능 구현

* feat: (#155) 글 작성/수정 시 본문 사진도 포함하여 전송 기능 구현

* feat: (#155) 본문 사진/선택지 사진 속성명 구분하여 api 통신 구현

* refactor: (#155) 변수명 카멜 케이스로 수정

* refactor: (#155) 게시글 타입 중 imageUrl 속성 필수속성으로 수정/적용

* fix: (#155) 본문 이미지 등록 후 미리보기 안 보이는 오류 수정

- 미리보기 조건을 초기 url 유무 아닌 등록 사진 url 유무로 수정

* feat: (#155) 새로운 기능 구현 중 비활성화한 페이지 이동 활성화

* feat: (#155) 선택지 입력을 확인하기 위해 폼 컴포넌트로 훅 위치 변경

- 기존: 작성중인 투표 선택지 컴포넌트

* test: (#155) 작성 선택지 훅 위치 변경에 따른 작성 선택지 테스트 코드 변경

* feat: (#155) 본문 사진을 확인하기 위해 폼 컴포넌트로 훅 위치 변경

- 기존: 본문 사진 파트 컴포넌트

* feat: (#155) 등록 후 삭제한 이미지 api통신되지 않도록 처리

- 입력중인 imageUrl을 확인하여 공백이면 file 초기화

* refactor: (#155) 본문 사진 url이 없는 경우 훅에서 처리하도록 수정

* refactor: (#155) 공통으로 사용하는 상수를 상수파일로 이동

* refactor: (#155) 선택지 텍스트 제어로 가지고 오도록 수정

* test: (#155) 작성 중인 선택지 컴포넌트 프롭스 수정에 따른 테스트 수정

* refactor: (#155) 작성중인 본문 이미지 부분 컴포넌트명 수정

- 수정전: ContentImagePart
- 수정후: ContentImageSection

* refactor: (#155) 불필요한 코드 수정

* feat: (#155) 통신확인을 위해 각주처리한 navigate 복구

* 다중 선택 컴포넌트 구현 (#146)

* feat: (#44) 다중 옵션 선택을 위한 커스텀 훅 구현

* feat: (#44) 다중 선택 컴포넌트 UI 구현 및 커스텀 훅 연결

* refactor: (#44) category name이 아닌 id 값으로 옵션 리스트 필터링

* design: (#44) DropDown의 top 값 수정

* refactor: (#44) 직관적인 컴포넌트 이름으로 수정 및 findIndex 대신 some 메서드로 대체

* refactor: (#44) 불필요한 코드 삭제 및 직관적인 변수명으로 수정

* design: (#44) wrapperClientHeight 상태 삭제, CSS 속성들로 대체

* refactor: (#44) 타입 분리, props 명에 $ 기호 추가, useToggle 로직 삭제

* 댓글 수정 기능 구현 (#171)

* feat: (#130) 댓글 수정 기능 구현

* feat: (#130) 댓글 수정 로직 구현

* feat: (#130) 댓글 수정 API 구현

* chore: (#130) 코드 컨벤션 정리

* refactor: (#130) 테스트명 오타 수정

* 카테고리 목록 조회, 카테고리 즐겨찾기, 유저 정보 조회에 대한 커스텀 쿼리 구현 (#156)

* feat: (#108) 유저 정보 조회하는 커스텀 쿼리 구현, 쿼리 키 상수화

* feat: (#109) 카테고리 목록 조회하는 커스텀 쿼리 구현

* feat: (#109) 카테고리 즐겨찾기 등록 및 해제 쿼리 구현, fetch 함수와 연결

* feat: (#109) CategoryToggle 컴포넌트 내에서 useCategoryFavoriteToggle 쿼리 적용, handleFavoriteClick 함수의 불필요한 props drilling 삭제

* chore: (#109) 사용하지 않는 함수 코드 삭제

* chore: (#109) hook test 통과를 위해 코드 복구

* 스토리북을 PR이 merge 될 때 배포되도록 설정 (#166)

* chore: (#165) github workflows에 스토리북 배포 설정 추가

* chore: (#165) 배포되는 환경 설정 및 배포될 브랜치 설정

* chore: (#165) 스토리북이 배포되는 폴더 변경

* chore: (#165) 스토리북 배포 파일들이 존재하지 않는 이유를 찾기 위해 React도 배포 시도

* chore: (#165) build 폴더에서 dist 폴더로 변경

* chore: (#165) 스토리북 빌드된 폴더 경로 재설정

* chore: (#165) dev 브런치로 보낸 PR이 머지될 때 스토리북 배포 되도록 설정

* 게시글 작성 기능 API 명세의 변경에 따른 코드 수정 (#173)

* refactor: (#95) 게시글 작성 기능 API 명세의 변경에 따라 게시글 내용의 이미지 추가

* refactor: (#95) PostController import문 정리

* refactor: (#95) h2-console 동작을 위한 설정 추가

* refactor: (#95) 게시글의 마감 기한이 현재 시간보다 3일 이상을 초과한 경우 예외 처리 기능 구현

* refactor: (#95) 마감 기한 제한으로 인한 양성 테스트 코드 수정

* refactor: (#95) 게시글 작성 API 데이터 전달 시, 잘못된 입력 값에 대한 예외 처리 기능 구현

* refactor: (#172) Dto 이름을 더 명확하게 개선

* refactor: (#172) swagger schema 설정 및 valid 설정 개선

* refactor: (#172) 예외 메시지 변경에 의한 테스트 메시지 변경

* refactor: (#172) 이미지 파일 이름 중복을 방지하기 위해 밀리초를 이름에 포함하는 것으로 개선

* refactor: (#172) 날짜 데이터 변환 형식을 DateTimeFormat이 아닌 JsonFormat으로 변환하는 것으로 변경

* refactor: (#172) 이미지 Url 저장 및 변환을 고수준인 도메인에서가 아닌 저수준인 서비스 계층에서 실행하도록 개선

* refactor: (#172) 테스트 코드 개선

* refactor: (#172) 이미지 저장에 실패했을 때 예외를 던지는 것으로 수정

* refactor: (#172) 예외 핸들러의 범위 원복

* refactor: (#172) 최대 마감 기한 유효성 검증 로직을 더 확장성 있게 코드 개선

* refactor: (#172) 새로 만든 엔티티에 BaseEntity 상속 받도록 수정

* refactor: (#172) 객체 비교 시, id로 비교하는 것으로 개선

* refactor: (#172) images 경로 push를 위한 이미지 저장

* refactor: (#172) 서버에서 필요없는 데이터 필드 삭제

* refactor: (#172) 설정 파일에도 h2 console의 path를 명시해주기

* refactor: (#172) 메서드를 사용하는 클래스 변경

* 댓글 등록, 조회, 수정, 삭제 API fetch 함수 구현 및 커스텀 쿼리 구현 (#170)

* feat: (#157) 댓글 관련 API fetch 함수 및 타입 분리

* refactor: (#157) 함수명 구체화, query key 상수화, CommentRequest 타입 간소화

* feat: (#157) 댓글 조회, 등록, 수정, 삭제 관련 커스텀 쿼리 구현

* feat: (#157) 댓글 관련 API mocking handler 구현

* feat: (#157) 쿼리 요청 실패에 대한 에러 핸들링 및 롤백 기능 구현

* refactor: (#157) useEffect dependency 추가, props이름에 $ 추가

* refactor: (#157) 불필요한 query key 삭제

* 회원 닉네임 수정, 회원 탈퇴 fetch 함수 구현 및 MSW 코드 작성 (#178)

* refactor: (#153) delete를 패치하는 함수 오류 제거를 위한 리팩터링

* feat: (#153): 유저 닉네임 변경, 회원 탈퇴 MSW 코드 작성

* feat: (#153) 유저 닉네임, 회원 탈퇴 api fetch 함수 구현

* refactor: (#153) BASE_URL 추가 및 MSW 코드 성공했을 때 구체적인 메세지로 수정

* 댓글 조회 기능 구현 (#182)

* refactor: (#129) 멤버 닉네임 값 조회 타입 수정

* feat: (#129) 게시글 댓글 목록 생성시각 순 조회 기능 구현

* feat: (#129) 게시글 댓글 목록 조회 기능 구현

* feat: (#129) 게시글 댓글 목록 조회 API 구현

* chore: (#129) 스웨거 문서화

* refactor: (#129) 응답 필드 개행 수정

* refactor: (#129) 사용하지 않는 필드 제거

* refactor: (#129) 댓글 목록 조회 권한 허용

* chore: (#129) 코드 컨벤션 수정

* refactor: (#129) 테스트환경 필터 설정

* 글쓰기 폼 페이지 디자인 수정_Feat/#180 (#181)

* design: (#180) 작성중인 선택지 컴포넌트 디자인수정

- 패딩 줄이기
- 데스크탑에서 input 높이 삭제

* design: (#180) 본문 사진 부분 컴포넌트 디자인수정

- 사이즈별로 사진 보여줄 수 있도록 프롭스로 넘겨줌
- 버튼 라벨 세로가로 가운데 정렬

* design: (#180) 게시글 작성/수정 컴포넌트 디자인수정

- 본문 사진 삽입에 따른 해당 구역 높이조절을 위해 스타일드컴포넌트에 사진존재여부 전달
- 왼쪽 부분/오른쪽 부분 모두 그리드로 수정
- 본문 사진 wrapper를 만들어 데스크탑인 경우 크기를 50% 더 작게 만듬
- 마감시간 지정하는 부분  중 안내문구 wrapper 제작

* feat: (#180) 다중선택 컴포넌트로 카테고리 선택 부분 교체

* design: (#180) 다중선택 컴포넌트 디자인수정

- 선택 option 배경색이 투명 -> white로 수정

* 게시글 작성 기능 API 명세의 변경에 따른 코드 수정 (#173)

* refactor: (#95) 게시글 작성 기능 API 명세의 변경에 따라 게시글 내용의 이미지 추가

* refactor: (#95) PostController import문 정리

* refactor: (#95) h2-console 동작을 위한 설정 추가

* refactor: (#95) 게시글의 마감 기한이 현재 시간보다 3일 이상을 초과한 경우 예외 처리 기능 구현

* refactor: (#95) 마감 기한 제한으로 인한 양성 테스트 코드 수정

* refactor: (#95) 게시글 작성 API 데이터 전달 시, 잘못된 입력 값에 대한 예외 처리 기능 구현

* refactor: (#172) Dto 이름을 더 명확하게 개선

* refactor: (#172) swagger schema 설정 및 valid 설정 개선

* refactor: (#172) 예외 메시지 변경에 의한 테스트 메시지 변경

* refactor: (#172) 이미지 파일 이름 중복을 방지하기 위해 밀리초를 이름에 포함하는 것으로 개선

* refactor: (#172) 날짜 데이터 변환 형식을 DateTimeFormat이 아닌 JsonFormat으로 변환하는 것으로 변경

* refactor: (#172) 이미지 Url 저장 및 변환을 고수준인 도메인에서가 아닌 저수준인 서비스 계층에서 실행하도록 개선

* refactor: (#172) 테스트 코드 개선

* refactor: (#172) 이미지 저장에 실패했을 때 예외를 던지는 것으로 수정

* refactor: (#172) 예외 핸들러의 범위 원복

* refactor: (#172) 최대 마감 기한 유효성 검증 로직을 더 확장성 있게 코드 개선

* refactor: (#172) 새로 만든 엔티티에 BaseEntity 상속 받도록 수정

* refactor: (#172) 객체 비교 시, id로 비교하는 것으로 개선

* refactor: (#172) images 경로 push를 위한 이미지 저장

* refactor: (#172) 서버에서 필요없는 데이터 필드 삭제

* refactor: (#172) 설정 파일에도 h2 console의 path를 명시해주기

* refactor: (#172) 메서드를 사용하는 클래스 변경

* 댓글 등록, 조회, 수정, 삭제 API fetch 함수 구현 및 커스텀 쿼리 구현 (#170)

* feat: (#157) 댓글 관련 API fetch 함수 및 타입 분리

* refactor: (#157) 함수명 구체화, query key 상수화, CommentRequest 타입 간소화

* feat: (#157) 댓글 조회, 등록, 수정, 삭제 관련 커스텀 쿼리 구현

* feat: (#157) 댓글 관련 API mocking handler 구현

* feat: (#157) 쿼리 요청 실패에 대한 에러 핸들링 및 롤백 기능 구현

* refactor: (#157) useEffect dependency 추가, props이름에 $ 추가

* refactor: (#157) 불필요한 query key 삭제

* design: (#180) 본문 사진 크기 확대

- 모바일: 50% -> 100%
- 탭/데스크탑: 25% -> 80%

* design: (#180) CSS 그리드 속성 변경

---------

Co-authored-by: Jun-Hyeok Sin <tjdtls690@gmail.com>
Co-authored-by: jero_kang <81199414+inyeong-kang@users.noreply.github.com>
Co-authored-by: Gilpop8663 <wolfye@naver.com>

* 댓글 작성 폼, 리스트 UI 컴포넌트 구현, 댓글 타입 선언 (#163)

* feat: (#152) 댓글 타입 선언

* feat: (#152) mock 닉네임 리스트 데이터 구현

* design: (#152) 댓글 아이템 컴포넌트 UI 구현

* refactor: (#152) useToggle 훅에 toggle하는 함수 추가로 구현

* design: (#152) 댓글 메뉴 컴포넌트 UI 구현

* design: (#152) SquareButton 컴포넌트에 Gray 속성 추가 및 반응형 속성 추가

* design: (#152) 댓글 공통 모달, 댓글 삭제 모달 컴포넌트 UI 구현

* design: 댓글 신고 모달 컴포넌트 UI 구현

* feat: (#152) 댓글 삭제, 신고 메뉴를 눌렀을 때 모달이 보이도록 구현

* feat: (#152) 비로그인, 작성자, 일반 사용자에게 댓글 메뉴를 다르게 보이도록 구현

* refactor: (#152) 유저 신고, 댓글 신고를 분리하여 모달도 2개 따로 구현

* refactor: (#152) 신고 관련된 컴포넌트 report 폴더로 이동

* design: (#152) 댓글 수정 폼 컴포넌트 UI 구현

* refactor: (#152) 댓글 수정 폼을 변경하여 댓글 입력 폼으로 변경

* refactor: (#152) 댓글 컴포넌트들을 comment 폴더로 이동
댓글에 관련된 컴포넌트 수가 많아져서 따로 분리하였음

* design: (#152) 비회원일때 댓글 폼 대신 보여줄 로그인 안내 컴포넌트 UI 구현

* refactor: (#152) 댓글 관련 상수, 타입을 모아둠

* refactor: (#152) 댓글 로직에 사용하는 문자열 상수화 및 타입 개선

* design: (#152) 댓글 리스트 컴포넌트 UI 구현

* refactor: (#152) 댓글 메뉴를 클릭에서 마우스를 올렸을 때 나오도록 변경

* feat: (#152) 댓글을 10개 단위로 보여주고, 더보기를 눌렀을 때 더 보여주는 훅 구현

* feat: (#152) 댓글 리스트 컴포넌트 더보기 버튼 기능 적용

* feat: (#152) 맨 위로 가기 기능 구현 및 유틸 함수로 이동

* refactor: (#152) 신고 컴포넌트에 사용되는 문자열 상수화
스크롤 이동 유틸 함수 파일 경로 이동, CSS 속성 변경

* refactor: (#152) 사용하지 않는 코드 및 type import 추가, 개행 추가, type=button 지정

* refactor: (#152) 비로그인 유저에게 보여주는 댓글 로그인 유도 컴포넌트 이름 변경

* refactor: (#152) 댓글 메뉴 동작 방식을 마우스를 올리는 방식에서 클릭하는 방식으로 변경

* refactor: (#152) 중복되는 타입을 Exclude를 이용하여 가독성 개선

* design: (#152) 댓글 메뉴 글자 색상 좀 더 진하게 수정

* refactor: (#152) 작성자가 아닌 사용자를 Normal에서 NotWriter로 수정

* refactor: (#152) 모달에서 받는 props를 관심사에 따라 객체로 변경

* refactor: (#152) 로그인하였고, 작성자가 아닌 유저를 NORMAL에서 NOT_WRITER로 변경

* refactor: (#152) UI에 관련된 상수, 타입들을 분리

* feat: (#152) 댓글 목록을 가공하여 클라이언트에서 사용하는 코드 추가
dev로 머지하려고 했으나 isEdit이 존재하지 않아서 스토리북 에러를 막기 위해 기능을 추가

* 게시글 조기 마감 기능 구현 (#115)

* refactor: (#95) 필요없는 테스트 클래스 삭제

* feat: (#95) 해당 게시글 조기 마감 기능 구현

* refactor: (#95) API 성공 시, swagger 표시를 201에서 200으로 수정

* refactor: (#95) swagger 500 에러 설명은 생략

* refactor: (#95) Post 클래스 마지막 줄 개행

* refactor: (#95) PostService 클래스 마지막 줄 개행

* refactor: (#95) 작성자인 경우만 조기 마감이 가능하도록 구현

* refactor: (#95) 조기 마감 할 시, 본인 게시글인지, 마감되지 않은 게시글인지, 마감 시간까지 절반 시간이 지난 것에 대한 예외처리 구현

* test: (#95) 게시글 조기 마감 시, 유효성 검증에 대한 테스트 코드 추가

* refactor: (#95) PathVariable 값인 id의 변수명을 postId로 더 명확하게 개선

* refactor: (#95) path parameter를 사용하여 테스트 코드의 url을 더 직관적으로 개선

* refactor: (#95) PostServiceTest의 코드에서 finded 단어를 found로 개선

* refactor: (#95) 조기 마감하는 메서드 명들을 더 알맞은 단어로 개선

* refactor: (#189) undefined 된 이미지 파일에 대한 디버깅을 위해 MultipartException의 ExceptionHandler 추가 (#191)

* undefined 이미지 파일 디버깅을 위해 예외 스택 호출 코드 추가 (#195)

* refactor: (#189) undefined 된 이미지 파일에 대한 디버깅을 위해 MultipartException의 ExceptionHandler 추가

* refactor: (#189) requestPart의 경계를 지정하기 위한 name속성 추가

* 전체 게시글 목록 기능에 검색한 게시글 목록 기능 추가 구현 + 검색 기능 구현 + 스토리북 .env 설정 (#177)

* feat: (#176) 검색한 키워드의 목록을 fetch하는 기능 구현

* refactor: (#176) react-query로 전체 게시글 불러오는 훅에서 검색 추가 기능 구현
캐싱이 올바르게 되도록 categoryId, keyword에 대해 기본값 부여

* fix: (#176) .env 파일에 대한 정보를 스토리북에도 적용

* refactor: (#176) 헤더의 검색 컴포넌트에서 검색 url 설정

* feat: (#176) 검색 ULR에 왔을 때 검색 API가 요청되도록 구현
게시글 리스트 컴포넌트에서 본문 어떠한 URL에도 해당되지 않는다면 전체 게시글 목록을 요청하도록 수정

* refactor: (#176) 검색의 keyword를 문자열로 사용하던 부분  상수로 변경

* refactor: (#176) 검색한 키워드를 100자 이내로 잘라서 요청하도록 수정

* refactor: (#176) 게시글 종류의 변수명으로 content에서 postType으로 변경

* refactor: (#176) 게시글 정책에 관련된 숫자들 상수화

* refactor: (#176) postList에 관련된 인자가 많아짐에 따라 2개의 인자를 받되 객체로 받도록 수정

* 내 정보 페이지 UI 구현, Accordion 컴포넌트 구현 (#179)

* feat: (#175) Accordion 컴포넌트 구현 및 스토리 작성

* feat: (#175) 내정보 페이지 UI/UX 구현

* chore: (#175) 불필요한 코드 삭제

* feat: (#175) 회원 탈퇴 모달 컴포넌트 구현

* feat: (#175) Layout 컴포넌트 추가, 반응형 디자인 구현

* fix: (#175) isPicked props 앞에 $ 기호 추가

* H2 콘솔 원격 접속 허용 (#197)

* refactor: (#196) h2-console 필터 허용

* feat: (#196) h2-console web 허용

* chore: (#196) 코드 컨벤션 정리

* feat: (#196) file 크기 설정

* multipartFile 관련 에러 디버깅 (#198)

* refactor: (##) multipartfile 관련 에러 디버깅

* refactor: (##) multipartfile 관련 에러 디버깅

* refactor: (##) 이미지 파일 받기 위해 파라미터 네임 지정 (#200)

* refactor: (##) 디버깅을 위한 예외 추적 코드 추가 (#202)

* fix: (#193) 댓글 관련한 테스트 실패 코드 수정 (#194)

목 데이터를 서버의 댓글 리스트에서 클라이언트에서 사용하는 댓글 리스트로 변경

* 소셜 로그인(회원가입) 기능 구현 (#120)

* feat: (#74) 로그인, 리다이렉션 페이지 구현

* feat: (#74) 로그인 정보에 대한 context 구현

* refactor: (#74) 실제 API 연동을 위한 url path로 대체

* design: (#74) 선택지 리스트 모바일의 경우 스크롤 없도록 수정

* chore: (#74) 카카오 로그인 버튼 svg 파일 추가

* feat: (#74) 페이지 라우팅 구현

* chore: (#74) request의 key 값 수정

* 회원 닉네임 수정, 회원 탈퇴 fetch 함수 구현 및 MSW 코드 작성 (#178)

* refactor: (#153) delete를 패치하는 함수 오류 제거를 위한 리팩터링

* feat: (#153): 유저 닉네임 변경, 회원 탈퇴 MSW 코드 작성

* feat: (#153) 유저 닉네임, 회원 탈퇴 api fetch 함수 구현

* refactor: (#153) BASE_URL 추가 및 MSW 코드 성공했을 때 구체적인 메세지로 수정

* fix: (#74) 로그인 후 context API에 저장이 안되는 오류 해결

* feat: (#74) 쿠키 getter, setter 함수 제작

* feat: (#74) 로그인 후 쿠키에 토큰을 저장하고 context API에 토큰 저장

* refactor: (#74) 로그인 정보 변수 타입 위치 이동

* feat: (#74) 레이아웃 컴포넌트에 전역 로그인 정보 적용하기

* feat: (#74) 초기 진입 시 쿠키 내 엑세스 토큰 확인/설정하는 코드 작성

* fix: (#74) 로그인 관련 라우팅이 안되는 오류 해결

* feat: (#74) 유저 로그인 쿼리에 현 로그인 여부를 키로 추가

* feat: (#74) 글쓰기 api url를 실제 url로 수정

* refactor: (#74) 유저정보 훅 이름 변경에 따른 수정

* feat: (#74) 글목록 페이지에 전역 유저정보 적용

* fix: 중복 코드로 인한 오류 수정

* fix: 스타일드 컴포넌트 프롭스 오타 오류 수정

* chore: 허스키 파일 업데이트 없음

* refactor: 불필요한 코드 삭제

* refactor: 엑세스 토큰 타입 파일 분리

* refactor: (#74) 로그인 정보 관련 이름 수정, login > logged

* feat: (#74) fetch 유틸함수에서 쿠키를 불러와 토큰 넣은 헤더 생성

* fix: (#74) 쿠키가 브라우저에 저장 안되는 오류 수정

- path=/ 를 통해 모든 url에서 쿠키 접근가능하도록 수정

* feat: (#74) 패치 헤더에 직접 토큰을 넣는 방식으로 수정함에 따른 기존 코드 수정

* feat: (#74)사용자 정보 가지고 오는 api 실제 dev서버 url로 수정

* fix: (#74) 로그인 정보 - 사용자 정보 불러오기 무한루프 오류 해결

* refactor: (#74) api 연결 url 이름 규칙에 맞게 수정

* refactor: (#74) 쿼리스트링 가지고 오는 방식 수정

* feat: (#74)  .env url 규칙에 따라 수정

---------

Co-authored-by: 김영길/KIM YOUNG GIL <80146176+Gilpop8663@users.noreply.github.com>
Co-authored-by: chsua <csj1919@naver.com>

* fix: (#204) 카카오 리다이렉트 URL 환경 변수 변경 (#206)

* refactor: (##) 이미지 파일 관련 에러 추적을 위한 코드 추가 (#207)

* 이미지 파일 관련 에러 추적을 위한 코드 추가 (#208)

* refactor: (##) 이미지 파일 관련 에러 추적을 위한 코드 추가

* refactor: (##) contentImages required 속성을 false로 설정

* 이미지 파일 관련 에러 추적을 위한 코드 추가 (#209)

* refactor: (##) 이미지 파일 관련 에러 추적을 위한 코드 추가

* refactor: (##) 이미지 파일 관련 에러 추적을 위한 코드 추가

* 이미지 파일 관련 에러 추적을 위한 코드 추가 (#211)

* refactor: (##) 이미지 파일 관련 에러 추적을 위한 코드 추가

* refactor: (##) 이미지 파일 관련 에러 추적을 위한 코드 추가

* refactor: (##) 이미지 파일 관련 에러 추적을 위한 코드 추가

* refactor: (##) 이미지 파일 관련 에러 추적을 위한 코드 추가

* refactor: (##) 이미지 파일 관련 에러 추적을 위한 코드 추가 (#212)

* refactor: (##) 이미지 파일 관련 에러 추적을 위한 코드 추가 (#214)

* 글작성 폼 이미지 파일 잘못 전달되는 오류 수정 및 mock 카테고리 id가 전달되는 오류  수정_Feat/#210 (#213)

* fix: (#210) 본문 사진 input 사라짐에 따라 발생하는 오류 수정

* feat: (#210) 이미지가 없는 경우 undefined이 아닌 임의의 파일로 전달.

* feat: (#205) 선택한 카테고리 아이디 리스트 api에 보내기

* fix: (#215) 반환되는 날짜 데이터의 형식 수정 (#216)

* refactor: (#217) requestPart의 name 속성 생략 (#218)

* 게시글 상세 조회 기능 구현 (#186)

* feat: (#174) 게시글 상세 조회 기능 Dto 구현

* feat: (#174) 게시글 상세 조회 기능 구현 (아직 Post content의 imageUrl 필드는 추가 못함)

* refactor: (#174) response dto에 Post content의 imageUrl 필드 추가

* refactor: (#174) 게시글 내용의 이미지 데이터 처리 로직 추가

* refactor: (#174) dto 관련 클래스들을 패키지로 나누기

* refactor: (#174) 이미 tostring이 있는 record에서 tostring 삭제

* refactor: (#174) stream() 코드를 더 가독성이 높게 하나의 메서드마다 개행을 해주는 것으로 변경

* refactor: (#174) 게시글 작성자가 아닐 시, 상세조회 예외 처리 기능 구현

* refactor: (#174) 로그인 한 회원의 변수명 통일

* refactor: (#174) contentImages가 있는지 확인하는 메서드 명 개선

* refactor: (#174) null 체크 메서드를 isNull에서 nonNull로 개선

* refactor: (#174) 페이징 제외한 원시 타입을 래퍼 클래스로 원복

* refactor: (#174) 출력문 제서

* 카테고리, 게시글 목록 연동 및 리팩터링 (#219)

* feat: (#205) 카테고리에 관련된 API 서버와 연동
wus폴더에 있던 파일들 밖으로 이동

* feat: (#205) 게시글 작성 페이지에서 카테고리 리스트를 불러와 옵션으로 변환하는 기능 구현

* refactor: (#205) 마감 시간을 구하는 유틸 함수 분리

* refactor: (#205) sua 폴더에 있던 post.ts MSW 코드를 밖의 post.ts 파일과 병합

* refactor: (#205) wus 폴더에 있던 유저 MSW 코드 밖으로 이동

* refactor: (#205) wus 폴더의 게시글 목록 MSW 코드를 밖으로 분리 및 파일명 변경

* refactor: (#205) api 폴더에 있던 wus 폴더 삭제 및 파일 이동

* refactor: (#205) 댓글을 제외한 나머지 api에 BASE_URL 코드 추가

* refactor: (#205) AuthContext에서 User 타입 변경 및 액세스 토큰이 있을 경우 isLogged:true로 수정

* fix: (#205) 게시글의 카테고리 리스트에 ?를 붙혀 없어도 에러가 나지 않게 수정

* feat: (#205) 게시글 서버에서 받는 타입 명세 선언

* refactor: (#205) 서버에서 받은 게시글 목록을 클라이언트에서 사용하는 게시글 목록 명세로 변환

* refactor: (#205) 게시글 명세인 startTime, endTime의 이름을 변경

* 핵심 기능 웹 접근성 개선하기_Feat/#203 (#222)

* feat: (#203)  선택지 태그 목적에 맞게 수정(ul-li > div-button)

* feat: (#203) aria-label 추가 및 불필요한 이벤트 막기

- 상세페이지에서 상세페이지로 이동하는 링크 이벤트 방지

* 게시글 타입 수정에 따른 반영이 되지 않아 게시글 컴포넌트에서 발생하는 오류 수정 (#225)

* fix: 게시글 타입 수정 미반영으로 인한 오류 해결

* fix: jsx파일의 return은 undefined이 될 수 없음 해결

* 작성자가 아니면 예외 처리하는 로직 삭제 (#226)

* refactor: (#224) 작성자가 아니면 예외 처리하는 로직 삭제

* refactor: (#224) 작성자 유효성 검증 로직 삭제로 인한 필요없는 테스트 코드 삭제

* 이미지 디렉토리 경로 수정 (#229)

* feat: (#196) 날짜/시간 포맷 지정

* fix: (#228) 이미지 경로 수정

* 게시글 생성, 투표지 선택 시 새로 고침해야 적용되는 버그 (#227)

* fix: (#220) 게시글 생성 후 게시글 목록의 캐싱을 초기화하도록 수정

* fix: (#220) 처음 투표를 할 때 사용하는 커스텀 훅 구현

* fix: (#220) 선택지 수정 커스텀 훅 구현 및 적용

* test: (#220) 선택지 수정, 생성 커스텀 훅이 통신되는지 테스트

* fix: (#220) 잘못된 패치 유틸 함수로 인한 에러 수정

* 글 상세 페이지에 댓글 관련 컴포넌트 추가 및 댓글 CRUD API 연동  (#230)

* refactor: (#168) 기존 댓글 하나가 아닌 댓글 리스트에 대한 낙관적 업데이트하도록 로직 변경

* refactor: (#168) post detail에 대한 query key 추가, 실서버 주소로 API 주소 변경

* feat: (#168) 버튼 클릭 시 댓글 삭제 쿼리 연결

* refactor: (#168) 댓글 등록/수정 버튼에 댓글 등록/수정 쿼리 연결

* chore: (#168) 빠진 props 추가

* feat: (#168) 게시글 상세 조회 커스텀 쿼리 구현

* feat: (#168) 댓글 등록 커스텀 쿼리 연결

* chore: (#168) getFetch 코드 순서 변경

* chore: (#168) base_url 추가

* feat: (#168) token 값으로 member id 가져오는 로직 구현

* 없는 파일 이미지인 경우 빈값 반환 (#234)

* chore: (#232) 코드 컨벤션 수정

* fix: (#232) 없는사진 파일명 전환 로직 구현

* 글 상세 페이지에서 이미지 url 수정 및 댓글 등록 fetch 함수 content type 수정 (#235)

* fix: (#233) fetch 메서드에 content type 추가

* chore: (#233) imageUrl 수정 및 컴포넌트 위치 수정

* fix: (#233) content type 추가

* 게시글 작성 시 content type 수정 및 댓글 수정 에러 해결 (#237)

* fix: (#236) 게시글 작성을 위해 content type 제거

* chore: (#236) 댓글 수정을 commentId 값 변경

* fix: (#240) 중복 카테고리 추가 시 예외 발생하도록 수정 (#241)

* fix: (#245) 조기 마감 제한 삭제 (#246)

* 카테고리 불러오기 api 연결 및 버그 수정 및 기타 등등_Feat/#238 (#247)

* fix: (#238) 카테고리 api 속성이 달라 발생하는 오류 수정

- api 필드 isFavorite이 favorite으로 되어있었음

* fix: 카테고리 토글에 따른 즉시 렌더링 안되는 오류 수정

- 리액트 쿼리 키에서 favorite 삭제

* fix: 댓글 수정 시 발생하는 오류 해결

- 수정된 댓글 콘텐츠만 전달하여 발생한 id 못찾는 오류를 댓글 객체 전체를 전달하는 방식으로 수정하여 해결

* fix: 글 작성자는 투표 결과를 바로 볼 수 있고 투표 할 수 없도록 수정

* feat: 통계 api response 형식 수정에 따른 반영

* Update issue templates (#267)

* 초기 닉네임 생성 정책 변경 (#264)

* feat: (#164) 초기 닉네임 생성 정책 변경

* test: (#263) 닉네임 유효성 검증 추가

* refactor: (#263) 초기 닉네임 prefix 변경

* 내가 투표 한 글 조회 기능 구현 (#134)

* feat: (#80) 리파지터리 메서드 추가

* feat: (#80) 내가 투표한 게시글 목록 조회 API 기능 추가

* feat: (#80) Swagger 어노테이션 추가

* test: (#80) 테스트 추가

* style: (#80) 개행 추가

* style: (#80) swaager 명세서 보충

* refactor: (#80) JPA 메서드 이름 수정

* feat: (#80) 회원본인이 투표한 게시글 조회 api 페이징 기능 추가

* feat: (#80) 페이징 정렬 기준 추가

* test: (#80) 회원본인이 투표한 게시글 목록 조회 테스트 추가

* style: (#80) import문 정리

* feat: (#80) swagger 문서 추가

* fix: (#80) 시간 관련검증 분까지 지정으로 수정

* 로그아웃 구현 (#261)

* feat: (#126) 로그아웃 버튼 클릭시 토큰 삭제 및 전역 로그인 정보 초기화

* fix: (#126) 로그아웃시 기존userInfo가 로그인정보에 다시 저장되는 문제 해결

* refactor: (#126) 로그인 정보 필드명 수정.

* fix: 토큰 만료시키는 방법 수정하여 로그인 후 로그아웃 안되는 오류 수정

- 로그인 후 페이지 새로고침 없이 로그아웃시 로그아웃되지 않음
- 마감시간을 기존 1970으로 설정한 것에서 현재시간 기준 -1초로 변경

* (비회원) 게시글 상세 조회 (#286)

* feat: (#284) 비회원용 게시글 상세 조회 기능 구현

* refactor: (#284) 불필요한 메서드 제거

* refactor: (#284) /guest가 uri에 suffix로 붙어있으면 필터를 거치지 않도록 추가

* refactor: (#284) 메서드 static 제거 및 메서드 순서 변경

* refactor: (#284) guest에 대한 요청을 판단하는 filter에 http method에 대한 검증 추가

* TimePickerOptionList 컴포넌트 및 Modal 컴포넌트 UI/UX 개선  (#201)

* feat: (#157) 댓글 관련 API fetch 함수 및 타입 분리

* refactor: (#157) 함수명 구체화, query key 상수화, CommentRequest 타입 간소화

* feat: (#157) 댓글 조회, 등록, 수정, 삭제 관련 커스텀 쿼리 구현

* feat: (#157) 댓글 관련 API mocking handler 구현

* feat: (#157) 쿼리 요청 실패에 대한 에러 핸들링 및 롤백 기능 구현

* refactor: (#169) useEffect dependency 추가, props이름에 $ 추가

* design: (#169) font, border 등 css 속성 변경

* design: (#169) TimePickerOption 높이 및 색상 조정

* feat: (#169) 키보드 ESC로 모달을 닫을 수 있는 스토리 추가

* Update issue templates (#267)

* 초기 닉네임 생성 정책 변경 (#264)

* feat: (#164) 초기 닉네임 생성 정책 변경

* test: (#263) 닉네임 유효성 검증 추가

* refactor: (#263) 초기 닉네임 prefix 변경

* refactor: (#169) keyCode 대신 key 로 변경

* chore: (#169) 예시 변수 갑 변경

* refactor: (#169) useEffect 내부의 함수를 분리, wheel event 추가

* design: (#169) height, z-index 등 css 속성 값 변경

---------

Co-authored-by: 김영길/KIM YOUNG GIL <80146176+Gilpop8663@users.noreply.github.com>
Co-authored-by: JeongHun Yu <jeomxon@gmail.com>

* utils의 fetch 함수 리팩터링, ErrorBoundary 구현, query를 이용한 에러핸들링 (#294)

* refactor: (#158) try-catch 구문으로 변경
Co-authored-by: 김영길/KIM YOUNG GIL <Gilpop8663@users.noreply.github.com>
Co-authored-by: chsua <chsua@users.noreply.github.com>

* feat: (#158) ErrorBoundary 구현

* refactor: (#158) 데이터 생성 시 에러 핸들링 코드 이동

* 회원 닉네임 수정, 회원 탈퇴 react-query를 이용한 커스텀훅 구현 (#192)

* feat: (#187) 유저가 닉네임을 변경하는 커스텀 훅 구현

* feat: (#187) 유저 회원 탈퇴 기능 커스텀 훅 구현

* feat: (#187) 닉네임 변경 부분 낙관적 업데이트 적용

* refactor: (#187) 닉네임 변경에 실패했을 경우 console.error 코드 추가

* refactor: (#187) 회원 탈퇴를 cancel에서 withdrawal로 변경

* refactor: (#187) dev 브런치 머지 후 파일 경로 재설정

* 토스트/스낵바 컴포넌트 제작 (#259)

* feat: (#258) 토스트 컴포넌트 제작

* feat: (#258) 토스트 컴포넌트 생성/삭제 훅 생성

* feat: (#258) 토스트 노출 시간 상수화

* feat: (#258) 토스트 fadeIn/Out 애니메이션 추가

* feat: (#258) 토스트 위치 props 추가

- top/bottom 설정 가능
- 맨 위 화면에 노출
- vw/vh를 사용하여 화면의 가로 중앙에 위치

* test: (#258) 토스트 컴포넌트 사이즈별/위치별 테스트 생성

* feat: (#258) 스낵바 컴포넌트 제작

* test: (#258) 스낵바 컴포넌트 사이즈별/위치별 테스트 생성

* refactor: (#258) 토스트 열림상태 변경 코드 리팩토링

* refactor: 스타일 관련 상수 표기법 변경 및 공통 상수 파일 분리

* 게시글 옵션을 ContextApi를 이용해 전역으로 관리 (#288)

* feat: (#282) 게시글 옵션을 ContextApi를 이용해 전역으로 관리
상세 게시글을 보다가 뒤로가기를 하여도 원래 보던 옵션 게시글 목록이 나오도록 하기 위해서

* refactor: (#282) Provider를 RouterProvider만 감싸도록 수정
contextApi를 사용하며 setPostOption의 타입을 선언하는 곳에서 Dispatch, SetStateAction를 사용하도록 수정

* 게시글 목록이 비었을 때 사용자에게 해당 조건에 맞는 게시글이 존재하지 않는다는 UI 컴포넌트 구현 (#199)

* feat: (#188) 빈 게시글 목록 리스트일 경우 사용자에게 보여주는 컴포넌트 UI 구현 및 적용

* chore: (#188) husky 권한 부여

* refactor: (#188) usePostList에서 데이터가 비었는지 여부를 반환하는 기능 추가

* refactor: (#188) 스타일 속성 개행, MSW 코드 중 검색 키워드 문자열로 수정

* refactor: (#188) 검색했을 때 전체 옵션이 아닌 경우 '현재 조건에는'이라는 접두사를 붙혀줌

---------

Co-authored-by: chsua <113416448+chsua@users.noreply.github.com>

* (비회원) 게시글 목록 조회 (#291)

* feat: (#285) querydsl 설정

* feat: (#285) 전체, 진행중, 마감완료, 최신순, 인기순 필터에 따른 게시글 목록 동적 쿼리 구현

* feat: (#285) 쿼리 성능 최적화를 위한 default batch fetch size 설정

* feat: (#285) 비회원 게시글 목록 조회 기능 구현

* feat: (#285) 비회원 게시글 목록 조회 API 구현

* refactor: (#285) 코드 컨벤션 수정

* refactor: (#285) 불필요한 출력문 제거

* refactor: (#285) 중복 어노테이션 제거

* refactor: (#285) 테스트 메서드 가독성 향상

* refactor: (#285) API Swagger 문서화

* chore: (#285) 코드 컨벤션 수정

* refactor: (#285) 시간 저장 범위 수정

* feat: (#285) 카테고리 필터링 조회 구현

* fix: (#285) 불필요한 클래스 제거

* 투표글, 댓글, 닉네임 신고 기능 구현 (#262)

* feat: (#164) 신고 엔티티, 레포지토리 구현

* feat: (#164) 게시글 신고 기능 구현

* refactor: (#164) 도메인으로 로직 이동, 및 예외 추가, 함수 분리

* test: (#164) Report의 repository, service 테스트 추가

* feat: (#164) 닉네임 신고 기능 구현

* refactor: (#164) 닉네임 getter 추가

* test: (#164) 닉네임 신고 기능에 대한 검증 추가

* chore: (#164) swagger 어노테이션 추가

* test: (#164) 컨트롤러 신고 검증 추가

* refactor: (#164) nested로 신고 기능 묶기

* refactor: (#164) Report 엔티티 클래스에 컬럼 복합 인덱스 설정

* refactor: (#164) 신고에 대한 비즈니스 로직을 어플리케이션 계층으로 이동

* refactor: (#164) enum타입으로 request받기, ReportService 클래스의 메서드 분리, 중복제거

* refactor: (#164) Report 클래스 reason 필드 추가

* refactor: (#164) NumberGenerator, NicknameNumberGenerator 삭제

* refactor: (#164) 신고 횟수에 대한 비즈니스 로직을 어플리케이션 계층으로 이동

* chore: (#164) conflict 해결 완료

* chore: (#164) conflict 해결 완료

* Revert "투표글, 댓글, 닉네임 신고 기능 구현 (#262)" (#315)

This reverts commit 3495a235055fc56b23034e8545adfa6d0057ace8.

* feat: (#164) 신고 기능 구현 (#316)

* 게시글, 댓글, 닉네임 신고 API fetch 함수 구현 HTML5 해결 (#296)

* feat: (#251) html5으로 인식되도록 코드 추가

* feat: (#167) 신고하는 api 생성

* feat: (#167) 신고용 모달 생성 및 기존 코멘트모달 리팩토링

- 기존 commentModal을 twoButtonModal로 수정

* refactor: 공통으로 사용되는 메뉴 컴포넌트 이름 수정 및 common으로 이동

- CommentMenu > PostMenu

* refactor: 신고모달 생성에 따른 기존 댓글신고, 댓글 작성자 신고 모달 대체

* refactor: postMenu를 처음 commentMenu으로  되돌리기

* feat: 공용으로 사용할 수 있는 메뉴 컴포넌트 제작

* test: 공용으로 사용할 수 있는 메뉴 컴포넌트 테스트

* feat: (#167) 게시물 신고 ui 수정 및 api 연동

- 신고 버튼
  > 모바일에서는 버튼을 누르면 (게시글/닉네임) menu 가 등장
  > 데스크탑에서는 버튼을 게시물신고와 작성자 닉네임 신고로 분리
- 삭제 버튼 클릭시 확인하는 모달 등장
- 신고 버튼 클릭시 사유를 선택하는 모들 등장
- 다만, 아직 api 오류 발생

* test: (#167) 신고 기능 추가에 따라 컴포넌트가 수정되어 테스트 코드도 수정

* fix: then이 catch보다 늦게 있어 오류 발생해도 then이 실행되는 오류 수정

* fix: (#167) 모달창에서 버튼을 클릭해도 모달이 닫히지 않는 오류 수정

* feat: 게시물 삭제 조건 변경 및 예외처리 시 api 통신하지 않도록 수정

- 삭제조건: 마감되지 않으면 삭제불가 > 20인 이상 투표시 삭제 불가

* test: (#167) 게시물 삭제/신고 msw 생성 및 테스트

* refactor: alert창 오타 수정

* test: 댓글 가지고 오는 api msw 중지

* fix: (#167) 모달창에서 버튼을 클릭해도 모달이 닫히지 않는 오류 수정

* feat: (#167) 댓글 신고/댓글 작성자 닉네임 신고기능 생성

* feat: (#167) 게시글 액션 타입 제한 적용

* test: (#167) 게시글 메뉴 컴포넌트 타입 제한에 따른 테스트 변경

* test: (#167) api 테스트 통과를 위해 댓글 msw 복구

* refactor: DeleteModal과 동일한 CommentDeleteModal 삭제하기

* refactor: (#167) 불필요한 타입 정의 정리

* refactor: (#167) 스타일 컨벤션 지키기

* refactor: (#167) 삭제 모달의 삭제 대상 타입 정의 및 상수화

* fix: (#167) 댓글 신고 시 request 데이터 타입 오지정 수정

* feat: (#308) 유저 정보, 카테고리 목록에서 캐싱, 스테일 타임을 1시간으로 수정 (#309)

* 게시글 작성, 게시글 투표 시 유저의 정보가 변하도록 수정, 비회원 유저 정보 요청하지 않도록 수정 (#307)

* feat: (#299) 게시글 작성, 게시글 투표 시 유저의 정보가 변하도록 수정
비회원일 때 members/me로 통신하지 않도록 수정

* test: (#299) 비회원일때 유저 정보를 불러오는 테스트 케이스 추가

* refactor: (#299) boolean 값을 상수화하여 코드 가독성 개선

* refactor: (#299) api 함수에서 isLogged를 isLoggedIn으로 변수명 변경

* Member 스키마 수정에 따른 코드 변경 (#330)

* refactor: (#323) Member 엔티티 필드 수정으로 인한 컴파일 에러 처리

* refactor: (#323) 테스트 오류 수정

---------

Co-authored-by: jeomxon <jeomxon@gmail.com>

* 비회원 게시글 목록 조회 추가 기능 구현 (#304)

* test: (#292) 비회원 게시글 목록 조회 테스트 케이스 추가 및 비회원 게시글 목록 목킹 데이터 추가

* feat: (#292) 게시글 목록을 불러오는 api 함수에서 회원, 비회원을 구별하여 요청하는 것으로 변경

* test: (#292) 게시글 목록 조회 회원, 비회원에 대한 테스트 케이스 추가

* feat: (#292) 포스트 리스트에 적용

* fix: (#292) 댓글, 투표 MSW 코드에서 .env의 환경 변수를 설정한 것을 제거하고 테스트가 동작하도록 수정

* feat: (#292) 액세스 토큰을 가지고 있을 때 처음 렌더링 시 게스트 게시글 목록에서 회원용 게시글 목록으로 리패치 되도록 구현

* feat: (#292) 카테고리별 게시글일 때 서버에 요청하는 URL 변경
잘못 설정되어 있던 카테고리별 게시글 라우터 변경
내가 투표한 게시글과 내가 작성한 게시글을 번갈아 누를 때 요청하지 않는 문제 수정

* test: (#292) 투표 테스트에서 given을 구체화

* 현재 유저가 어떤 게시글 종류를 보고 있는지 정보를 반환하는 함수 구현 및 적용 (#318)

* feat: (#310) 유저에게 어떤 게시글에 대한 종류를 보고 있는지 정보를 반환하는 함수 구현

* feat: (#310) 레이아웃, 포스트 리스트 페이지에 코드 적용

* feat: (#310) 검색어 글자가 10글자가 넘어간다면 ...으로 축약해서 보여주도록 구현
test의 given을 구체화

* 투표 상세보기에서 투표 변경사항이 즉시 적용되지 않음 (#306)

* feat: (#275) 게시물 상세 컴포넌트에서 게시글 정보 불러오기 리액트 쿼리 도입

* feat: (#275) 마감완료 여부 색상 동그라미로 보여주기 구현

* feat: (#275) 작성시간/마감시간 날짜형식에서 텍스트 형태로 수정

- 마감되었을 경우 마감완료로 표시

* fix: (#275) 게시물 목록 필터링/솔팅 셀렉터가 글에 가려지는 오류 수정

- z-index를 1로 설정

* feat: (#275) 전역 로그인 정보에 회원id 필드 추가

* feat: (#275) 게스트용 게시글 api 제작 및 연결

- 상세페이지에서 로그인 정보가 false라면 게스트용 게시글 상세정보 api로 fetch

* refactor: (#275) 작성된 선택지 목록 컴포넌트에 작성자 여부 정의 방법 수정

* fix: 댓글창에 게스트여부 잘못 전달되는 오류 수정

* feat: 사용하지 않는 유저 포인트 정보 UI 삭제

* feat: (#275) 조기마감/게시글 삭제도 리액트 쿼리로 전환

* refactor: (#275) 가독성을 위한 개행

* feat: (#275) 게시물 삭제 시 유저 정보 캐시 삭제하도록 설정

* 회원 닉네임 수정, 회원 탈퇴 react-query를 이용한 커스텀훅 구현 (#192)

* feat: (#187) 유저가 닉네임을 변경하는 커스텀 훅 구현

* feat: (#187) 유저 회원 탈퇴 기능 커스텀 훅 구현

* feat: (#187) 닉네임 변경 부분 낙관적 업데이트 적용

* refactor: (#187) 닉네임 변경에 실패했을 경우 console.error 코드 추가

* refactor: (#187) 회원 탈퇴를 cancel에서 withdrawal로 변경

* refactor: (#187) dev 브런치 머지 후 파일 경로 재설정

* 토스트/스낵바 컴포넌트 제작 (#259)

* feat: (#258) 토스트 컴포넌트 제작

* feat: (#258) 토스트 컴포넌트 생성/삭제 훅 생성

* feat: (#258) 토스트 노출 시간 상수화

* feat: (#258) 토스트 fadeIn/Out 애니메이션 추가

* feat: (#258) 토스트 위치 props 추가

- top/bottom 설정 가능
- 맨 위 화면에 노출
- vw/vh를 사용하여 화면의 가로 중앙에 위치

* test: (#258) 토스트 컴포넌트 사이즈별/위치별 테스트 생성

* feat: (#258) 스낵바 컴포넌트 제작

* test: (#258) 스낵바 컴포넌트 사이즈별/위치별 테스트 생성

* refactor: (#258) 토스트 열림상태 변경 코드 리팩토링

* refactor: 스타일 관련 상수 표기법 변경 및 공통 상수 파일 분리

* 게시글 옵션을 ContextApi를 이용해 전역으로 관리 (#288)

* feat: (#282) 게시글 옵션을 ContextApi를 이용해 전역으로 관리
상세 게시글을 보다가 뒤로가기를 하여도 원래 보던 옵션 게시글 목록이 나오도록 하기 위해서

* refactor: (#282) Provider를 RouterProvider만 감싸도록 수정
contextApi를 사용하며 setPostOption의 타입을 선언하는 곳에서 Dispatch, SetStateAction를 사용하도록 수정

* 게시글 목록이 비었을 때 사용자에게 해당 조건에 맞는 게시글이 존재하지 않는다는 UI 컴포넌트 구현 (#199)

* feat: (#188) 빈 게시글 목록 리스트일 경우 사용자에게 보여주는 컴포넌트 UI 구현 및 적용

* chore: (#188) husky 권한 부여

* refactor: (#188) usePostList에서 데이터가 비었는지 여부를 반환하는 기능 추가

* refactor: (#188) 스타일 속성 개행, MSW 코드 중 검색 키워드 문자열로 수정

* refactor: (#188) 검색했을 때 전체 옵션이 아닌 경우 '현재 조건에는'이라는 접두사를 붙혀줌

---------

Co-authored-by: chsua <113416448+chsua@users.noreply.github.com>

* (비회원) 게시글 목록 조회 (#291)

* feat: (#285) querydsl 설정

* feat: (#285) 전체, 진행중, 마감완료, 최신순, 인기순 필터에 따른 게시글 목록 동적 쿼리 구현

* feat: (#285) 쿼리 성능 최적화를 위한 default batch fetch size 설정

* feat: (#285) 비회원 게시글 목록 조회 기능 구현

* feat: (#285) 비회원 게시글 목록 조회 API 구현

* refactor: (#285) 코드 컨벤션 수정

* refactor: (#285) 불필요한 출력문 제거

* refactor: (#285) 중복 어노테이션 제거

* refactor: (#285) 테스트 메서드 가독성 향상

* refactor: (#285) API Swagger 문서화

* chore: (#285) 코드 컨벤션 수정

* refactor: (#285) 시간 저장 범위 수정

* feat: (#285) 카테고리 필터링 조회 구현

* fix: (#285) 불필요한 클래스 제거

* 투표글, 댓글, 닉네임 신고 기능 구현 (#262)

* feat: (#164) 신고 엔티티, 레포지토리 구현

* feat: (#164) 게시글 신고 기능 구현

* refactor: (#164) 도메인으로 로직 이동, 및 예외 추가, 함수 분리

* test: (#164) Report의 repository, service 테스트 추가

* feat: (#164) 닉네임 신고 기능 구현

* refactor: (#164) 닉네임 getter 추가

* test: (#164) 닉네임 신고 기능에 대한 검증 추가

* chore: (#164) swagger 어노테이션 추가

* test: (#164) 컨트롤러 신고 검증 추가

* refactor: (#164) nested로 신고 기능 묶기

* refactor: (#164) Report 엔티티 클래스에 컬럼 복합 인덱스 설정

* refactor: (#164) 신고에 대한 비즈니스 로직을 어플리케이션 계층으로 이동

* refactor: (#164) enum타입으로 request받기, ReportService 클래스의 메서드 분리, 중복제거

* refactor: (#164) Report 클래스 reason 필드 추가

* refactor: (#164) NumberGenerator, NicknameNumberGenerator 삭제

* refactor: (#164) 신고 횟수에 대한 비즈니스 로직을 어플리케이션 계층으로 이동

* chore: (#164) conflict 해결 완료

* chore: (#164) conflict 해결 완료

* Revert "투표글, 댓글, 닉네임 신고 기능 구현 (#262)" (#315)

This reverts commit 3495a235055fc56b23034e8545adfa6d0057ace8.

* feat: (#164) 신고 기능 구현 (#316)

* 게시글, 댓글, 닉네임 신고 API fetch 함수 구현 HTML5 해결 (#296)

* feat: (#251) html5으로 인식되도록 코드 추가

* feat: (#167) 신고하는 api 생성

* feat: (#167) 신고용 모달 생성 및 기존 코멘트모달 리팩토링

- 기존 commentModal을 twoButtonModal로 수정

* refactor: 공통으로 사용되는 메뉴 컴포넌트 이름 수정 및 common으로 이동

- CommentMenu > PostMenu

* refactor: 신고모달 생성에 따른 기존 댓글신고, 댓글 작성자 신고 모달 대체

* refactor: postMenu를 처음 commentMenu으로  되돌리기

* feat: 공용으로 사용할 수 있는 메뉴 컴포넌트 제작

* test: 공용으로 사용할 수 있는 메뉴 컴포넌트 테스트

* feat: (#167) 게시물 신고 ui 수정 및 api 연동

- 신고 버튼
  > 모바일에서는 버튼을 누르면 (게시글/닉네임) menu 가 등장
  > 데스크탑에서는 버튼을 게시물신고와 작성자 닉네임 신고로 분리
- 삭제 버튼 클릭시 확인하는 모달 등장
- 신고 버튼 클릭시 사유를 선택하는 모들 등장
- 다만, 아직 api 오류 발생

* test: (#167) 신고 기능 추가에 따라 컴포넌트가 수정되어 테스트 코드도 수정

* fix: then이 catch보다 늦게 있어 오류 발생해도 then이 실행되는 오류 수정

* fix: (#167) 모달창에서 버튼을 클릭해도 모달이 닫히지 않는 오류 수정

* feat: 게시물 삭제 조건 변경 및 예외처리 시 api 통신하지 않도록 수정

- 삭제조건: 마감되지 않으면 삭제불가 > 20인 이상 투표시 삭제 불가

* test: (#167) 게시물 삭제/신고 msw 생성 및 테스트

* refactor: alert창 오타 수정

* test: 댓글 가지고 오는 api msw 중지

* fix: (#167) 모달창에서 버튼을 클릭해도 모달이 닫히지 않는 오류 수정

* feat: (#167) 댓글 신고/댓글 작성자 닉네임 신고기능 생성

* feat: (#167) 게시글 액션 타입 제한 적용

* test: (#167) 게시글 메뉴 컴포넌트 타입 제한에 따른 테스트 변경

* test: (#167) api 테스트 통과를 위해 댓글 msw 복구

* refactor: DeleteModal과 동일한 CommentDeleteModal 삭제하기

* refactor: (#167) 불필요한 타입 정의 정리

* refactor: (#167) 스타일 컨벤션 지키기

* refactor: (#167) 삭제 모달의 삭제 대상 타입 정의 및 상수화

* fix: (#167) 댓글 신고 시 request 데이터 타입 오지정 수정

* feat: (#308) 유저 정보, 카테고리 목록에서 캐싱, 스테일 타임을 1시간으로 수정 (#309)

* 게시글 작성, 게시글 투표 시 유저의 정보가 변하도록 수정, 비회원 유저 정보 요청하지 않도록 수정 (#307)

* feat: (#299) 게시글 작성, 게시글 투표 시 유저의 정보가 변하도록 수정
비회원일 때 members/me로 통신하지 않도록 수정

* test: (#299) 비회원일때 유저 정보를 불러오는 테스트 케이스 추가

* refactor: (#299) boolean 값을 상수화하여 코드 가독성 개선

* refactor: (#299) api 함수에서 isLogged를 isLoggedIn으로 변수명 변경

* Member 스키마 수정에 따른 코드 변경 (#330)

* refactor: (#323) Member 엔티티 필드 수정으로 인한 컴파일 에러 처리

* refactor: (#323) 테스트 오류 수정

---------

Co-authored-by: jeomxon <jeomxon@gmail.com>

* 비회원 게시글 목록 조회 추가 기능 구현 (#304)

* test: (#292) 비회원 게시글 목록 조회 테스트 케이스 추가 및 비회원 게시글 목록 목킹 데이터 추가

* feat: (#292) 게시글 목록을 불러오는 api 함수에서 회원, 비회원을 구별하여 요청하는 것으로 변경

* test: (#292) 게시글 목록 조회 회원, 비회원에 대한 테스트 케이스 추가

* feat: (#292) 포스트 리스트에 적용

* fix: (#292) 댓글, 투표 MSW 코드에서 .env의 환경 변수를 설정한 것을 제거하고 테스트가 동작하도록 수정

* feat: (#292) 액세스 토큰을 가지고 있을 때 처음 렌더링 시 게스트 게시글 목록에서 회원용 게시글 목록으로 리패치 되도록 구현

* feat: (#292) 카테고리별 게시글일 때 서버에 요청하는 URL 변경
잘못 설정되어 있던 카테고리별 게시글 라우터 변경
내가 투표한 게시글과 내가 작성한 게시글을 번갈아 누를 때 요청하지 않는 문제 수정

* test: (#292) 투표 테스트에서 given을 구체화

* 현재 유저가 어떤 게시글 종류를 보고 있는지 정보를 반환하는 함수 구현 및 적용 (#318)

* feat: (#310) 유저에게 어떤 게시글에 대한 종류를 보고 있는지 정보를 반환하는 함수 구현

* feat: (#310) 레이아웃, 포스트 리스트 페이지에 코드 적용

* feat: (#310) 검색어 글자가 10글자가 넘어간다면 ...으로 축약해서 보여주도록 구현
test의 given을 구체화

---------

Co-authored-by: 김영길/KIM YOUNG GIL <80146176+Gilpop8663@users.noreply.github.com>
Co-authored-by: 최우창 <clllickme@naver.com>
Co-authored-by: JeongHun Yu <jeomxon@gmail.com>

* refactor: (#331) 로그인 응답 형식 수정 (#336)

* refactor: (#332) 내 정보 조회 응답 형식 수정 (#337)

* Skeleton 애니메이션 변경, pr&issue 템플릿 변경, 글 수정 및 다중선택 컴포넌트 관련 버그 해결 (#312)

* docs: (#302) 일정 추정 및 소요 시간 항목 추가

* refactor: (#271) 불필요한 props 제거

* fix: (#271) 글 수정 시 mock 데이터가 뜨는 오류 해결

* design: (#271) 제목, 내용 input css 수정

* feat: (#281) 다중선택 컴포넌트 외부 영역 선택 시 DropDown이 닫히도록 구현

* refactor: (#91) pulse animation을 wave로 변경 및 animation 관련 코드 theme으로 분리

* refactor: (#91) story 이름 수정, Skeleton 사용하는 파일에서 props 추가

* design: (#91) 스켈레톤 각 Box의 height 단위 px에서 vh 로 변경

* 사이트를 웹앱으로 실행되도록 하고, meta, favicon 설정 (#320)

* feat: (#319) favicon 및 디바이스별로 보여줄 보투게더 로고 이미지 적용

* feat: (#319) 모바일 즐겨찾기 후 사용시 웹앱 네이티브로 보이도록 선언
아이패드가 켜질 때 로딩중 화면 설정

* feat: (#319) 라인, 카카오톡 공유시 사이트 정보를 미리볼 수 있도록 설정

* feat: (#319) 모바일 환경에서 사이트에 접근할 경우 홈으로 즐겨찾기 여부를 묻는 기능 구현

* refactor: (#319) 모바일 사용자에게 즐겨찾기를 묻는 함수 코드 가독성 개선

* fix: (#319) 모바일 디바이스에 물어보도록 수정

* feat: (#310) PWA(프로그레시브 웹 앱) 요소를 충족시키는 조건 설정

* chore: (#319) 사용하지 않는 코드 삭제

* chore: (#319) EOL을 위한 개행 추가

* 전체 게시글 조회시, 마감된 글은 투표 결과 전부 공개 기능 구현 (#340)

* feat: (#317) 마감된 게시글은 무조건 투표 결과가 보이게 하도록 구현

* test: (#317) 게시글의 투표 결과 반환에 대한 테스트 케이스 작성

* [BUG] 게시물 상세페이지 반응성 적용 오류 (#335)

* style: (#334) 상세페이지 내 글 가로길이 리스트와 동일하게 조정

* style: (#334) 모바일 상세페이지 내 댓글 가로길이 본문과 동일하게 조정

* fix: 충돌 해결 과정에서 발생한 오류 수정

- removePost -> deletePost함수명 수정

* feat: 상세게시글 컴포넌트의 임시로 적은 값을 실제 데이터로 교체.

* feat: 변경된 사용자정보 가져오기 api response 명세에 맞게 적용

* feat: (#334) 게시물컴포넌트에서 image 존재 여부를 판단해 표시해주기

* feat: 통계 그래프에 남녀 성별색 설명 추가

* refactor: 성별 그래프의 색상에 상수 적용

* test: 사용자정보 필드 변경에 따른 테스트 코드 변경

* refactor: (#334) 상수 컨벤션에 따라 대문자로 수정

* refactor: (#334)  불필요한 선언 코드 정리

* design: (#334) 사진 포함 여부 UI를 게시글 상세페이지에서 보이지 않게 수정

* fix: (#355) 글 수정 페이지, usePostDetail에서 인수 부족 오류 해결 (#356)

* 게시글 수정 기능 구현 (#354)

* feat: (#321) 게시글 수정 기능 구현

* test: (#321) 게시글 수정 시, 작성자가 아니면 예외 처리하는 테스트 케이스 추가

* test: (#321) 게시글 수정 시, 이미 마감된 게시글이면 예외 처리하는 테스트 케이스 추가

* feat: (#321) 수정할 마감기한이 생성기한보다 3일 초과할 경우 예외 처리 기능 구현

* feat: (#321) 게시글 수정 시, 투표가 하나라도 진행된 게시글이면 예외 처리하는 기능 구현

* refactor: (#321) required 속성 삭제

* refactor: (#341) 성별 응답 형식 및 null 가능하도록 수정 (#350)

* 게시글 삭제기능 구현 및 투표 20개 이상인 경우 예외 처리 기능 구현 (#357)

* feat: (#322) 게시글 삭제기능 구현 및 투표 20개 이상인 경우 예외 처리 기능 구현

* refactor: (#322) 게시글 삭제 기능 테스트 시, 게시글에 포함된 각 요소가 삭제되었는지 전부 확인

* refactor: (#322) 필요없는 코드 삭제

* 아이폰용, 안드로이드용 어플 설치 여부를 홈 화면에서 보여주기 (feat.PWA) (#345)

* feat: (#342) 안드로이드용 화면 구현

* feat: (#342) 아이폰용 화면 구현

* feat: (#342) 모바일 안드로이드, IOS에서 접속했을 경우 하단에 설치를 해달라는 문구 보이도록 구현

* style: (#342) 볼더 탑 연하게 수정, 큰 화면에서도 자연스럽게 보이도록 수정

* 사이트를 웹앱으로 실행되도록 하고, meta, favicon 설정 (#320)

* feat: (#319) favicon 및 디바이스별로 보여줄 보투게더 로고 이미지 적용

* feat: (#319) 모바일 즐겨찾기 후 사용시 웹앱 네이티브로 보이도록 선언
아이패드가 켜질 때 로딩중 화면 설정

* feat: (#319) 라인, 카카오톡 공유시 사이트 정보를 미리볼 수 있도록 설정

* feat: (#319) 모바일 환경에서 사이트에 접근할 경우 홈으로 즐겨찾기 여부를 묻는 기능 구현

* refactor: (#319) 모바일 사용자에게 즐겨찾기를 묻는 함수 코드 가독성 개선

* fix: (#319) 모바일 디바이스에 물어보도록 수정

* feat: (#310) PWA(프로그레시브 웹 앱) 요소를 충족시키는 조건 설정

* chore: (#319) 사용하지 않는 코드 삭제

* chore: (#319) EOL을 위한 개행 추가

* refactor: (#342) beforeinstallprompt 이벤트에 대한 타입 선언 및 적용

* refactor: (#342) 사용자에게 보여주는 문구 수정 및 사용하지 않는 코드 삭제

* 성별, 나이 수정 기능 구현 (#339)

* feat: (#360) 전체 게시글 목록 조회 시 카테고리도 함께 조회할 수 있도록 변경 (#361)

* 내가 쓴 게시글 목록 조회 기능  (#295)

* feat : (#289) QueryDSl 적용 (다즐 코드 복사)

* feat : (#289) 회원 본인이 작성한 게시글 목록 조회 api 구현

* test : (#289) 테스트 코드 추가

* feat : (#289) swagger 추가

* refactor : (#289) final 추가

* style: (#289) 개행 수정

* refactor: (#289) swagger 수정

* refactor: (#289) 개행 수정

* refactor: (#289) any()에 클래스 명시

* refactor: (#289) result 개수 검증 추가

* refactor: (#289) 개행 추가

* refactor: (#289) thread sleep 제거

* refactor: (#289) 개행 수정

* refactor: (#289) assertAll 묶기

* feat: (#289) 카테고리 정렬 추가

* refactor: (#289) thread sleep 관련 throws InterruptedException 제거

* test: (#289) 테스트코드 추가

* refactor: (#289) 메서드 이름 수정

* refactor: (#289) 테스트 코드 검증 추가

* test: (#290) 충돌 해결

* (회원) 게시글 검색 기능 (#314)

* refactor : (#290) (회원) 게시글 검색 기능 api 추가

* test : (#290) 테스트 코드 추가

* feat : (#290) swagger 추가

* style : (#290) 개행 추가

* refactor: (#289) swagger 예외 응답 어노테이션 추가

* refactor: (#289) 개행, assertAll사용, 클래스이름 대문자, //given 리펙터링

* test: (#289) 제목 + 내용에 둘 다 포함되어있는 키워드 검색 테스트 추가

* test: (#290) 테스트 코드 추가

* refactor: (#290) 충돌 해결

* refactor: (#290) 충돌 해결

* feat: (#313) 비회원으로 게시글 검색하는 api 추가 (#363)

* 인증/인가에 따른 라우팅 구현, API 통신 실패 및 존재하지 않는 페이지(Not Found)에 대한 Fallback UI 구현 (#343)

* chore: (#183) 불필요한 모듈 삭제

* refactor: (#183)…
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment