Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* feat: (#366) 빌드 시 public/icons에 있는 favicon, 아이콘 등을 빌드하도록 설정 (#373) * 게시글 수정을 할 때 마감시간이 설정되도록 구현 (#382) * feat: (#370) 시작시간과 마감시간으로 몇일, 몇시간, 몇분을 반환하는 함수 구현 * feat: (#370) 선택된 시간 문자 반환하는 함수 구현 및 적용 * feat: (#369) usePostDetail에서 로그인 정보를 키 값으로 추가하여 새로고침시에도 올바르게 나오도록 수정 및 적용 (#383) * 카테고리가 길 경우 스크롤이 되도록 변경, 리다이렉션 페이지에서 멤버 아이디를 설정하도록 수정 (#385) * style: (#384) 카테고리 목록이 길 때 스크롤이 가능하도록 CSS 수정 * fix: (#358, #381) 리다이렉션 페이지를 통한 로그인 시에도 memberId를 AuthContext 전역변수에 추가 * 로그 설정 파일 추가 (#390) * feat: (#388) log4j2 의존성 추가 Co-authored-by: jeomxon <jeomxon@gmail.com> Co-authored-by: aiaiaiai1 <cvc100326@naver.com> Co-authored-by: tjdtls690 <tjdtls690@gmail.com> * feat: (#388) 로컬 로그 설정 파일 추가 Co-authored-by: jeomxon <jeomxon@gmail.com> Co-authored-by: aiaiaiai1 <cvc100326@naver.com> Co-authored-by: tjdtls690 <tjdtls690@gmail.com> * feat: (#388) 개발 로그 설정 파일 추가 Co-authored-by: jeomxon <jeomxon@gmail.com> Co-authored-by: aiaiaiai1 <cvc100326@naver.com> Co-authored-by: tjdtls690 <tjdtls690@gmail.com> * feat: (#388) 운영 로그 설정 파일 추가 Co-authored-by: jeomxon <jeomxon@gmail.com> Co-authored-by: aiaiaiai1 <cvc100326@naver.com> Co-authored-by: tjdtls690 <tjdtls690@gmail.com> --------- Co-authored-by: jeomxon <jeomxon@gmail.com> Co-authored-by: aiaiaiai1 <cvc100326@naver.com> Co-authored-by: tjdtls690 <tjdtls690@gmail.com> * [BUG] 현재 api me 가 무한으로 요청됨 외 1건 (#386) * fix: (#371) me가 무한으로 불리는 오류 수정 Co-authored-by: jero_kang <inyeong-kang@users.noreply.github.com> * refactor: 투표통계 페이지 폴더명 수정(-Page 붙이기) * feat: 에러페이지 문구 수정 및 모바일 헤더 에러바운더리 적용, 로딩스피너 > 스켈레톤 * refactor: API fetch 함수에서 react query로 대체 * feat: (#376) 로그인 후 개인정보 등록 페이지로 라우팅 * refactor: 에러 바운더리에서 핸들러를 넣을 수 없어 핸들러 코드 각주로 임시처리 * feat: (#371) 에러바운더리에 에러(페이지) 컴포넌트 연결 * feat: 통계페이지 UI 수정, 통신 실패시 에러컴포넌트 등장, 토글 열리지 않도록 수정 * feat: 서비스 최상단에 전용 에러바운더리 적용 - 최상단에는 nav/global style사용할 수 없어 새로 제작 * feat: (#376) 로그인 후 필수정보가 입력되어있지 않으면 입력페이지로 리다이렉트 * fix: 로그인을 하지 않았는데 개인정보 입력 페이지로 넘어가는 오류 수정 --------- Co-authored-by: jero_kang <inyeong-kang@users.noreply.github.com> * 게시글 수정 시 이미지가 사용자에게 보이도록 수정 (#377) * fix: (#368) 게시글 수정 시 이미지가 사용자에게 보이도록 수정 * feat: (#347) 설정 환경변수 설정 (#378) * feat: (#379) MySQL 의존성 추가 (#380) * feat: (#366) 빌드 시 public/icons에 있는 favicon, 아이콘 등을 빌드하도록 설정 (#373) * 게시글 수정을 할 때 마감시간이 설정되도록 구현 (#382) * feat: (#370) 시작시간과 마감시간으로 몇일, 몇시간, 몇분을 반환하는 함수 구현 * feat: (#370) 선택된 시간 문자 반환하는 함수 구현 및 적용 * feat: (#369) usePostDetail에서 로그인 정보를 키 값으로 추가하여 새로고침시에도 올바르게 나오도록 수정 및 적용 (#383) * 카테고리가 길 경우 스크롤이 되도록 변경, 리다이렉션 페이지에서 멤버 아이디를 설정하도록 수정 (#385) * style: (#384) 카테고리 목록이 길 때 스크롤이 가능하도록 CSS 수정 * fix: (#358, #381) 리다이렉션 페이지를 통한 로그인 시에도 memberId를 AuthContext 전역변수에 추가 * 로그 설정 파일 추가 (#390) * feat: (#388) log4j2 의존성 추가 Co-authored-by: jeomxon <jeomxon@gmail.com> Co-authored-by: aiaiaiai1 <cvc100326@naver.com> Co-authored-by: tjdtls690 <tjdtls690@gmail.com> * feat: (#388) 로컬 로그 설정 파일 추가 Co-authored-by: jeomxon <jeomxon@gmail.com> Co-authored-by: aiaiaiai1 <cvc100326@naver.com> Co-authored-by: tjdtls690 <tjdtls690@gmail.com> * feat: (#388) 개발 로그 설정 파일 추가 Co-authored-by: jeomxon <jeomxon@gmail.com> Co-authored-by: aiaiaiai1 <cvc100326@naver.com> Co-authored-by: tjdtls690 <tjdtls690@gmail.com> * feat: (#388) 운영 로그 설정 파일 추가 Co-authored-by: jeomxon <jeomxon@gmail.com> Co-authored-by: aiaiaiai1 <cvc100326@naver.com> Co-authored-by: tjdtls690 <tjdtls690@gmail.com> --------- Co-authored-by: jeomxon <jeomxon@gmail.com> Co-authored-by: aiaiaiai1 <cvc100326@naver.com> Co-authored-by: tjdtls690 <tjdtls690@gmail.com> * [BUG] 현재 api me 가 무한으로 요청됨 외 1건 (#386) * fix: (#371) me가 무한으로 불리는 오류 수정 Co-authored-by: jero_kang <inyeong-kang@users.noreply.github.com> * refactor: 투표통계 페이지 폴더명 수정(-Page 붙이기) * feat: 에러페이지 문구 수정 및 모바일 헤더 에러바운더리 적용, 로딩스피너 > 스켈레톤 * refactor: API fetch 함수에서 react query로 대체 * feat: (#376) 로그인 후 개인정보 등록 페이지로 라우팅 * refactor: 에러 바운더리에서 핸들러를 넣을 수 없어 핸들러 코드 각주로 임시처리 * feat: (#371) 에러바운더리에 에러(페이지) 컴포넌트 연결 * feat: 통계페이지 UI 수정, 통신 실패시 에러컴포넌트 등장, 토글 열리지 않도록 수정 * feat: 서비스 최상단에 전용 에러바운더리 적용 - 최상단에는 nav/global style사용할 수 없어 새로 제작 * feat: (#376) 로그인 후 필수정보가 입력되어있지 않으면 입력페이지로 리다이렉트 * fix: 로그인을 하지 않았는데 개인정보 입력 페이지로 넘어가는 오류 수정 --------- Co-authored-by: jero_kang <inyeong-kang@users.noreply.github.com> * refactor: (#368) 매 렌더링마다 state의 초기값을 계산하는 것이 비효율적이라고 생각들어서 직접 useState의 초기값으로 설정 --------- Co-authored-by: 최우창 <clllickme@naver.com> Co-authored-by: jeomxon <jeomxon@gmail.com> Co-authored-by: aiaiaiai1 <cvc100326@naver.com> Co-authored-by: tjdtls690 <tjdtls690@gmail.com> Co-authored-by: chsua <113416448+chsua@users.noreply.github.com> Co-authored-by: jero_kang <inyeong-kang@users.noreply.github.com> * [BUG] 모바일일때 검색 input 없음/ 로고버튼 이벤트 없음/ 마이페이지 이동 불가 (#389) * fix: (#367) 카테고리별 글이 보이지 않음 - url 오타 수정 * feat: (#387) 모바일 로고버튼에 홈이동 이벤트 붙이기 * fix: 모바일에서 검색바가 없어지는 문제 수정 - 검색 아이콘 클릭시 검색바 등장 - 검색바 오픈 후 배경 클릭했을 때 검색바 사라짐 * feat: 마이페이지로 이동하는 트리거 생성 * design: 어색한 디자인 수정 - 사용자 정보 컴포넌트 수정 - 마이페이지 헤더 탭 사이즈에서 2개가 겹치는 오류 수정 * 비회원인데 신고가 가능한 버그, 비회원이 투표한 경우 토스트 띄우기 (#395) * fix: (#393) 비회원이 투표 시 로그인 후 투표가 가능하다는 토스트를 보여주도록 수정 * fix: (#393) 비회원이 신고 기능을 이용하려고 할 때 토스트로 안내 문구 출력되도록 구현 * 로그인했는데 마이페이지로 리다이렉트되는 버그, 회원탈퇴에 실패하는 버그 해결 (#397) * fix: (#394) 로그인했는데 마이페이지로 리다이렉트되는 버그 해결 * refactor: (#394) 회원탈퇴 쿼리에서 쿼리키에 로그인 여부 추가 * refactor: (#394) 마이페이지에서 회원탈퇴 모달 컴포넌트 분리 * refactor: (#394) 댓글 로그인 섹션 컴포넌트의 텍스트 변경 * refactor: (#394) 로그인 여부에 대한 쿼리 키 값 상수화 * refactor: (#394) clearCookie 로직을 기존의 clearLoggedInfo 에서 하도록 수정 * 본문과 내용에 사진을 추가할 때 안될 때가 있다 (#398) * fix: (#280) 본문사진 등록-삭제 후 동일한 사진 업드시 업로드되지 않는 문제 해결 * feat: mock url 실제 서버 url로 수정 * 회원이 마감 완료된 게시글에 투표할 때 failed to Fetch가 나타나요, 마감된 게시글 투표 통계 보이도록 수정 (#401) * fix: (#399) 마감된 게시글에 투표했을 때 사용자에게 투표할 수 없다는 문구 출력 * fix: (#399) 마감된 게시글은 투표 통계가 보이도록 수정 isWriter라는 변수명을 더 넓은 범위를 뜻하는 isStatisticsVisible로 변경 * 회원 탈퇴 기능 수정 (#400) * refactor: (#396) 댓글의 isHidden 필드를 기본 생성 시 false로 적용하도록 변경 * refactor: (#396) 게시글의 isHidden 필드를 기본 생성 시 false로 적용하도록 변경 * refactor: (#396) 회원 탈퇴 시 연관된 데이터들도 삭제해주는 기능 추가 * 모바일에서 검색창 눌러서 검색이 가능하도록 수정 (#404) * fix: (#403) 모바일에서 검색창을 눌러도 닫히지 않도록 수정 * feat: (#403) 모바일에서 검색창이 열릴 때 오토 포커스 기눙 추가 * style: (#403) 홈페이지 위로가기 버튼, 글 작성 버튼에 padding-right 10px 속성 추가 * 로그인 페이지 UI 구현 및 적용 (피그마 시안) (#406) * feat: (#405) 모바일 로그인 UI 구현 * feat: (#405) 보투게더를 이용해보세요 UI 구현 png 파일 타입스크립트가 인식하도록 선언, svg.d.ts => assets.d.ts로 변경 * feat: (#405) 로그인 페이지 UI 구현 및 반응형 CSS 적용 웹팩에서 여러 이미지 파일을 사용할 수 있도록 설정 수정 * chore: (#405) 웹팩 설정에서 svg 파일은 빌드 시 코드에 포함되도록 수정 * chore: (#405) 필요없는 파일 삭제 및 EOL을 위한 개행 추가 * style: 사용자 화면 높이에 따라 소개하는 휴대폰 이미지 사이즈를 다르게 보이도록 수정 StartUsingOurService 에서 ServiceIntroductionSection 으로 컴포넌트 이름 변경 * style: CSS 속성 개행 * refactor: (#413) deleteAllByIdInBatch -> deleteAllById로 변경 (#414) Co-authored-by: aiaiaiai1 <cvc100326@naver.com> Co-authored-by: woo-chang <clllickme@naver.com> Co-authored-by: tjdtls690 <tjdtls690@gmail.com> * 패키지 구조 개선 및 swagger 설정 통일 (#428) * refactor: (#392) 패키지 구조 통일 Co-authored-by: jeomxon <jeomxon@gmail.com> Co-authored-by: woo-chang <clllickme@naver.com> Co-authored-by: tjdtls690 <tjdtls690@gmail.com> * refactor: (#392) Swagger 설정 Co-authored-by: jeomxon <jeomxon@gmail.com> Co-authored-by: woo-chang <clllickme@naver.com> Co-authored-by: tjdtls690 <tjdtls690@gmail.com> --------- Co-authored-by: jeomxon <jeomxon@gmail.com> Co-authored-by: woo-chang <clllickme@naver.com> Co-authored-by: tjdtls690 <tjdtls690@gmail.com> * 전체 게시글 목록을 조회할 때 중복된 컬럼으로 인해 default page size에 맞지 않게 조회가 되는 문제 수정, 총 투표 수가 0일 때 투표 퍼센트가 NaN으로 반환되는 오류 수정 (#439) * refactor: (#436) 투표 통계 퍼센트가 NaN으로 나오는 오류 수정 Co-authored-by: woo-chang <clllickme@naver.com> * refactor: (#436) PostCreateRequest의 example에 categoryId를 [0, 2] -> [1, 3]으로 수정 Co-authored-by: woo-chang <clllickme@naver.com> * refactor: (#436) 전체 게시글 목록을 조회할 때 중복된 컬럼으로 인해 default page size에 맞지 않게 조회가 되는 문제 수정 Co-authored-by: woo-chang <clllickme@naver.com> --------- Co-authored-by: woo-chang <clllickme@naver.com> * 게시글 수정 디버깅 (#434) * fix: (#416) 게시글 수정 디버깅 * refactor: (#416) update 메서드 파라미터 개행 * fix: (#438) 게시글과 댓글이 신고 5번 이상이어도 보이는 버그 픽스 (#441) * fix: (#444) PostOption이 수정할 때 전부 지워지도록 개선 (#445) * 본문글 개행 적용, 모달 외부 누르면 모달 닫히기 적용, 즐겨찾기 아이콘 수정, API 통신 실패 시 Toast에 띄울 메시지 가공 (#440) * fix: (#417) 게시글 본문에 공백이 보이도록 css 수정 * fix: (#416) 글 수정 시 image url 가공 없이 전송 * fix: (#418) TwoButtonModal 외부를 누르면 닫히도록 수정 * feat: (#421) 작성자가 투표하는 경우 toast 띄우기 * refactor: (#424) 카테고리 토글 버튼을 별모양 아이콘으로 변경 * fix: (#433) API 통신 실패의 응답, 오류 메시지를 toast에 띄우기 * fix: (#416) 글 수정 시 선택지에서 기존의 이미지 보이도록 수정 * fix: (#416) 글수정 시 imageUrl 앞의 주소 제거 * fix: (#417) API 통신 실패 시 Toast가 무한으로 띄워지는 에러 해결 * fix: (#442) 투표가 된 게시글은 수정 페이지로 라우팅 못하게 early return 하기 * fix: (#417) 이미지 url 값 변경 * fix: (#443) 비회원이 즐겨찾기하는 경우 적절한 에러 메시지 띄우도록 수정 * 글을 작성하면 리스트 정렬기준이 "최신순"으로 바꾸기, 라우팅 시 스크롤 최상단으로 이동하기 (#435) * feat: (#420) 스크롤을 탑으로 이동시키는 유틸함수 제작 및 적용용 컴포넌트 제작 * feat: (#420) 스크롤 위로 올리는 컴포넌트 적용 * feat: (#419) 글 작성/수정 시 글목록 필터/정렬 기준 초기화 * refactor: 중복되는 스크롤 기능 삭제 * 게시글 수정 시, PostOption 테이블 유니크 값 충돌 문제 해결 (#449) * fix: (#448) 게시글 수정 시, PostOption 테이블 유니크 값 충돌 문제 해결 * fix: (#448) 게시글 수정 디버깅 * refactor: (#448) EntityMaager 안쓰고 flush해서 delete 쿼리가 잘 동작하도록 개선 * refactor: (#448) import문 정리 * NarrowMainHeader, Select, Searchbar, Skeleton 컴포넌트 웹접근성 개선 / 닉네임 변경 및 신고 API 실패 시 Toast 띄우기 (#454) * design: (#407) 전역 서비스 색상 코드 변경 및 댓글 닉네임 font-weight 변경 * feat: (#407) Skeleton 컴포넌트 aria-label 추가 * refactor: (#407) LogoButton 컴포넌트 aria-label 수정 * feat: (#407) NarrowMainHeader, SearchBar, Select 컴포넌트에 aria-label 및 aria-polite 추가하여 웹접근성 개선 * refactor: (#349) 신고 API 실패 응답 메시지 Toast로 띄우기 * refactor: (#349) 닉네임 변경 및 회원 탈퇴 API 실패 시 응답으로 오는 에러 메시지를 Toast에 띄우기 * refactor: (#407) aria-label, tabIndex 속성 추가 * Drawer, ErrorMessage, HeaderTextButton, IconButton, Layout 컴포넌트 웹접근성 높이기 (#450) * fix: (#411)등록사진을 수정안하고 수정api 요청시 undefined 발생하는 오류 * feat: (#411) 웹접근성 향상 - Drawer, ErrorMessage, HeaderTextButton, IconButton, Layout * feat: (#411) 웹접근성 향상 - LoadingSpinner, LogoButton, MultiSelect * fix: 게시글 수정 후 이미지가 보이지 않는 오류 수정 - 수정하는 과정에서 서버 url이 한번 더 붙는 오류 수정 --------- Co-authored-by: jero_kang <81199414+inyeong-kang@users.noreply.github.com> * README.md 작성 (#462) * docs: (#461) 보투게더 소개글 리드미에 입력 * docs: (#461) 보투게더 소개글 개행 수정 * fix: (#461) 이미지 수정이 즉시 적용되지 않는 오류 수정 (#465) - queryClient.invalidateQueries 키 수정 * fix: (#464) 토스트가 계속해서 뜨는 문제 수정 (#466) * PostForm/ReportModal/WritingVoteOptionList 웹 접근성 도입 및 정책안내문구 적용 (#459) * feat: 정책 안내 문구 적용 - 닉네임 변경 아코디언 - 글작성 페이지 * feat: (#453) 글작성 폼에서 인터렉션하는 태그는 tab되도록 수정 * feat: (#453) 글작성 폼 내 태그에 부연설명 추가 * [BUG] 모바일/데스크탑에서 사진을 2번씩 눌러야 이미지 첨부가 돼요 (#469) * feat: (#468) 이미지 업로드 시 파일창이 두번 나오는 오류 수정 - 기본 이벤트로 인한 호출 오류 * feat: 사용자에게 보여지는 안내문구 수정 * 인터넷 익스플로어로 접속 시 브라우저를 업데이트 해달라는 기능 구현 (#452) * feat: (#447) 인터넷 익스플로어로 접속 시 브라우저를 업데이트 해달라는 기능 구현 * chore: (#447) 사진 정책 변경 * chore: (#447) 사진 이미지를 프론트에서 1.5MB로 제한하도록 수정 * fix: (#447) 존재하지 않는 role 삭제 * docs: (#471) 잘못 작성한 리드미 수정 (#472) * feat: (#456) 타임 픽커 웹 접근성 향상 (#458) * Accordion, AddButton, Modal, TwoButtonModal, DeleteModal 웹접근성 높이기 (#455) * feat: (#410) 아코디언 웹 접근성 향상 * feat: (#410) 더하기 버튼 스토리북에 aria-label 예시 코드 작성 * feat: (#410) Modal 컴포넌트 웹 접근성 향상 * feat: (#410) TwoButtonModal, DeleteModal 웹 접근성 향상 * feat: (#410) 모달의 title을 설명할 때 추가적인 정보를 주도록 구현 * 랭킹 시스템 패치 함수 및 훅 만들기 (#506) * feat: (#504) 랭킹 관련 fetch하는 함수 만들기 * feat: (#504) 랭킹 관련 쿼리키 추가 * feat: (#504) 랭킹 관련 리액트쿼리 훅 제작 - 열정유저, 인기글, 사용자랭킹 get * feat: (#504) 랭킹 관련 타입 정의 * feat: (#504) 확정된 랭킹 관련 api url 설정 * feat: (#504) 확정된 랭킹 관련 type을 api, query hook에 적용 * 구글 태그 및 채널톡 버튼 추가, 코드리뷰 마감시간 알림 슬랙봇 구현 (#503) * feat: (#492) 채널톡 버튼 추가 * feat: (#492) 구글 태그 추가 * feat: (#494) 프론트엔드 PR의 마감시간 및 코멘트 슬랙봇 구현 * chore: (#494) channel id 수정 * fix: (#494) workflow가 실행되지 않는 오류 해결 * chore: (#494) 주석 삭제 * refactor: (#494) 마크다운 형식으로 슬랙 메시지 구성 * feat: (#494) 백엔드 pr에 대한 슬랙 알림 기능 추가 * refactor: (#494) 근무시간이 아닌 경우 포함 * feat: (#494) 프론트/백 슬랙 채널에 각각 메시지 전송하도록 구현 * chore: (#494) 불필요한 코드 삭제 * refactor: (#494) 오늘/내일 키워드 삭제 * refactor: (#494) yml 파일 분리 * refactor: (#494) working-directory 추가 * refactor: (#494) pr url에서 https 제거 * refactor: (#494) 공백 추가 * refactor: (#494) http 추가 * refactor: (#494) yml 파일 name 구체화 * refactor: (#492) 채널톡 script 분리 * refactor: (#492) 구글 태그 id, 채널톡 key 환경변수로 분리 * chore: (#494) 불필요한 코드 삭제 * chore: (#494) working-directory 추가 * chore: (#492) ChannelTalk 컴포넌트 pages에서 compoenents 폴더로 이동 * test: (#492) 월요일, 금요일 오전에 대한 테스트 추가 * chore: (#492) type 제거, 누락된 코드 복구 * chore: (#494) defaults 속성 추가 * 대시보드 컴포넌트, 통계 컴포넌트, UpButton 웹접근성 높이기 (#460) * refactor: (#408) 투표 통계 관련 컴포넌트 웹접근성 개선 * refactor: (#408) 대시보드 프로필 웹접근성 개선 * refactor: (#408) UpButton 웹접근성 개선 * refactor: (#408) Toast 웹접근성 개선 * chore: (#408) 불필요한 코드 삭제 * refactor: (#408) 선택지 통계가 닫혀있는 경우 스크린리더가 읽어주도록 메시지 추가 * refactor: (#408) 스크린리더가 첫번째 span에서 연령대와 인원을 모두 읽도록 수정 * refactor: (#408) TwoLineGraph에서 스크린리더가 첫번째 span에서 연령대와 인원을 모두 읽도록 수정 * refactor: (#408) aria-hidden 태그로 스크린리더가 span 태그가 읽지 않도록 수정 * 랭킹 시스템 UI 구현 및 내정보 페이지로 가는 UI 추가, 랭킹페이지로 이동하는 UI 생성 (#499) * feat: (#488) 스위치 토글 컴포넌트 생성 * test: (#488) 스위치 토글 컴포넌트 테스트 * feat: (#488) 랭킹표 공통 배경 스타일 컴포넌트 생성 * feat: (#488) 열정사용유저용 테이블 컴포넌트 제작 * test: (#488) 열정사용유저용 테이블 컴포넌트 테스트 * feat: (#488) 인기글 작성 유저용 테이블 컴포넌트 제작 * test: (#488) 인기글 작성 유저용 테이블 컴포넌트 테스트 * style: 스타일드 컴포넌트 작성 컨벤션 지키기 * feat: (#488) 랭킹 1~3위 icon 생성 * feat: (#488) 랭킹 1~3위 icon으로 적용 및 열 간격 조절 * refactor: 랭킹표 컴포넌트의 폴더 위치를 컴포넌트폴더에서 페이지폴더로 이동 * refactor: 랭킹표 공통 스타일드 컴포넌트 파일명 수정 * refactor: (#488) 스위치 토글 훅 분리 및 적용 * feat: (#488) 랭킹 페이지 UI 구현 * test: (#488) 랭킹 페이지 UI 테스트 * design: (#488) 열정 유저 테이블 UI 둥글리기 수정 * feat: (#507) 랭킹/내정보 icon svg 추가 및 새로고침 icon 크기 줄이기 * feat: (#507) 랭킹 페이지 PATH 상수 추가 및 라우터 추가 * feat: (#507) 아이콘 버튼 컴포넌트에 유저/랭킹페이지로 가는 아이콘 카테고리 추가 * feat: (#507) 좁은 메인헤더, 넓은헤더에 유저, 랭킹 아이콘 추가 및 프롭스 수정 - 이동 이벤트 프롭스에서 헤더 안으로 옮기기 * design: (#488) 랭킹 페이지 양옆 공백주기 * feat: (#488) 열정유저 type 확정에 따른 수정 및 분리, 적용 - 열정유저 랭킹 컴포넌트의 프롭스로 랭킹정보 전달하도록 수정 * design: (#488) 열정유저 중 사용자가 없는 경우 사용자 랭킹UI 처리 하지 않음 * feat: (#488) 인기글 랭킹 type 확정에 따른 적용 및 상세페이지 링크 활성화 * feat: (#488) 인기글 랭킹 목록 데이터 프롭스로 넘겨주는 방식으로 수정 * style: 스타일드 컴포넌트 컨벤션 따르기 * feat: (#488) 오입력한 랭킹된 인기글 타입 수정 * 게시글 컴포넌트, 댓글 컴포넌트, PostMenu 컴포넌트 웹접근성 높이기 (#451) * feat:(#409) 비회원 유저 게시글 웹 접근성 완료 * feat: (#409) 토스트에서 에러 메세지가 나타날 때 스크린리더기에서 들리도록 수정 * chore: (#409) package.json 맥북에서 휴대폰으로 들어갈 수 있는 로컬 아이피를 반환하는 명령어 추가 * feat: (#409) 비회원 댓글에서 로그인하라는 컴포넌트 스크린 리더기 웹 접근성 완료 * feat: (#409) 댓글 더 보기시 탭 인덱스가 맨 밑으로 이동하는 문제 수정 * feat: (#409) 투표 선택지를 클릭했을 때 투표 완료한 선택지 상태로 나오도록 구현 * feat: (#409) 댓글 메뉴, 게시글 메뉴 등 스크린 리더기에서 더 많은 정보를 주도록 구현 * feat: (#409) 의미있는 태그 사용 및 글자 색상 더 진하게 변경 * feat: (#409) 게시글 신고 메뉴 열기, 닫기가 스크린 리더기로 들리도록 구현 * fix: (#409) 동일하게 button 태그로 보이도록 한 코드 수정 * refactor: (#409) 댓글 작성/수정을 구분 짓는 대상 변경 - 코드 가독성 측면 * refactor: (#409) 댓글 더보기를 성공했을 경우 사용자에게 알려줌(접근성) * refactor: (#409) 없어도 되는 속성 제거 * 컴포넌트 사용성 개선 및 라우팅 제한 추가, github action worflow 오류 해결 등 버그 5건 수정 (#524) * fix: (#518) pr 코멘트 메시지 수정, 채널톡 컴포넌트 경로 수정 * feat: (#477) 개인정보 업데이트 쿼리 및 통신 실패에 대한 toast 띄우기 구현 * fix: (#478) UpButton, AddButton 고정 및 width 조정 * refactor: (#476) 뒤로가기 버튼을 누르면 이전 url로 이동하도록 수정 * design: (#474) 토스트 외부에서 상호작용 가능하도록 style 수정 * fix: (#518) path 수정 * fix: (#518) working directory 삭제 * fix: (#477) path 수정 * chore: (#474) 코드 복구 * 랭킹 UI와 hook 연결 및 msw 도입 (+변경된 랭킹 객체 타입 적용) (#525) * feat: (#521) 변경된 랭킹 관련 타입 속성명 적용 * feat: (#521) 사용자 열정랭킹, 열정유저 랭킹, 인기글 랭킹 api msw 생성 * feat: (#521) 변경된 랭킹 관련 타입 속성명 적용 * fix: 열정유저 랭킹, 인기글 랭킹 api, 쿼리훅에서 타입 오지정 수정 - 배열형태로 수정 * fix: 사용자 랭킹 쿼리훅 함수명이 열정유저 랭킹 쿼리훅 함수명과 동일한 오류 수정 * feat: (#521) 사용자 랭킹정보 서스펜스 및 에러바운더리 적용을 위한 분리 및 적용 * feat: (#521) 열정랭킹 테이블, 인기글랭킹 테이블 에러바운더리, 서스펜스 적용 - 적용을 위해 테이블 컴포넌트로 api 호출 위치 변경 - 이에 따른 테스트 코드 변경 * 닉네임 정책 사용자에게 14일마다 가능하다고 안내 메세지 변경 (#529) * fix: (#528) 닉네임 변경 정책 문구 추가 및 수정 * fix: (#484) 권장하지 않는 코드 삭제 * 앱 설치를 지원하지 않는 브라우저에서 안 나오는 것 수정 및 7일마다 물어보도록 수정하기 (#527) * fix: (#520) ios 사용자에게 보여지도록 수정 * feat: 앱 설치 창을 닫기 눌렀을 때 7일간 보이지 않도록 구현 * refactor: (#520) ios 프롬프트 분리 및 코드 가독성 개선 * style: (#520) 설치 창 높이 css 설정 * chore: BeforeInstallPromptEvent 타입 원상 복구 * style: 웹으로 볼게요 버튼 추가 * refactor: (#520) 컴포넌트 파일명을 ios와 모바일에서 즐겨찾기, 설치로 변경 * 회원의 닉네임을 일정주기를 통해 변경할 수 있도록 구현 (#498) * refactor: (#491) 닉네임 변경 주기 설정 * refactor: (#491) 닉네임 변경 주기에 대한 테스트하기 용이한 구조로 변경 및 도메인 테스트 추가 * refactor: (#491) 불필요한 출력문 제거 * test: (#491) 리플렉션 유틸 클래스를 사용하도록 변경 * refactor: (#491) 닉네임 최초 변경 로직을 prefix로 구분하도록 변경 * refactor: (#491) 닉네임 변경 메서드 분리 및 예외 메시지 수정 * test: (#491) 초기 닉네임이 포함되었을 때 닉네임이 변경되지 않도록 확인하는 검증 추가 * ts-loader를 esbuild-loader로 마이그레이션(빌드 시간 최적화) (#544) * refactor: (#538) ts-loader를 esbulid-loader로 대체 * chore: type checking을 위한 플러그인 설치, target 변경 * 내 랭킹정보 조회 기능 (#522) * feat: (#515) 모든 멤버의 게시글 작성 개수 불러오기 메서드 추가 * feat: (#515) 모든 멤버의 투표 수 불러오기 메서드 추가 * feat: (#515) 랭킹 순위 구하는 클래스 구현 * feat: (#515) 내 랭킹 정보 조회 API 구현 * style: (#515) 주석 수정 * feat: (#515) swagger 추가 * style: (#515) final 키워드 추가 * refactor: (#515) 응답 변수 추출 * refactor: (#515) 메서드 이름 수정 및 순서 변경 * refactor: (#515) 클래스와 메서드 이름 수정 및 상수 추출 * refactor: (#515) 테스트 응답 검증 추가 및 변수 이름 수정 * refactor: (#515) 트랜잭션 어노테이션 추가 * refactor: (#515) score 반환 long으로 변환 * refactor: (#515) getter 메서드 명 수정 * test: (#515) assertAll 로 수정 * refactor: (#515) ranking 도메인 패키지로 변경 * refactor: (#515) 클래스 이름 및 메서드 이름 수정 * refactor: (#515) 클래스,메서드,변수명 수정 * refactor: (#515) 패키지 수정 * refactor: (#515) swagger 어노테이션 명세 수정 * refactor: (#515) uri 수정 * fix: (#515) uri 테스트 수정 * chore: (#561) 불필요한 플러그인 삭제 (#562) * 검색에 관한 설정과 전체 게시글 초기 설정 변경 (#547) * feat: (#530) 페이지 진입 시 전체, 최신순으로 정렬 옵션이 설정되도록 수정 * feat: (#534) 아무런 값이 없으면 검색이 되지 않도록 구현 앞 뒤 공백을 제거하여 검색하도록 구현 검색어를 검색창에 남기도록 수정 * fix: (#530) 왼쪽 카테고리 탭에서 검색어를 보여주던 기능 삭제 * feat: (#530) 검색어와 공백을 제거한 검색어가 다를 때 공백을 제거한 검색어로 state값 변경 * feat: (#530) 검색어 자동완성 기능 해제 * fix: (#530) onKeywordChange에서 handleKeywordChange로 이름 변경 * fix: (#530) onSearchSubmit에서 handleSearchSubmit로 이름 변경 * refactor: (#530) 검색어에서 중간의 공백이 많은 경우도 고려하여 중간 공백 제거 기능 구현 * feat: (#530) 검색어 100글자까지 입력 가능하도록 설정 * refactor: (#530) 기존 hook을 이용하여 기능이 동작하도록 코드 변경 * 인기게시글 랭킹 목록 조회 기능 (#546) * feat: (#539) 응답 dto 생성 * feat: (#539) 인기 게시글 랭킹 조회 api 구현 * feat: (#539) swagger 추가 * refactor: (#539) 필드 순서 변경 * refactor: (#539) 정팩메 메서드 이름 수정 * refactor: (#539) 람다 메서드 수정 * refactor: (#539) 불필요한 정렬 삭제 * refactor: (#539) 개행수정 * test: (#539) 테스트 코드 추가 * test: (#539) 테스트 코드 추가 및 보충 * refactor: (#539) 레코드 이름 수정 * refactor: (#539) 레코드 이름 수정 * refactor: (#539) 테스트 응답 검증 방법 수정 * 열정 유저 랭킹 목록 조회 기능 (#569) * feat: (#565) 상위 10명의 열정 유저 랭킹 목록 조회 기능 * refactor: (#565) 컨벤션 수정 및 dto 정적 팩터리 메서드 적용 * refactor: (#565) test final 키워드 삭제 * chore: (#565) 게시글 이미지 관련 크기 설정 수정 * 리프레시 토큰 기능(로그아웃 포함) 구현 (#545) * chore: (#532) spring data redis 의존성 추가 및 레디스 설정 추가 * feat: (#532) redis port, host config 설정 * feat: (#532) 액세스 토큰 재발급 기능 구현 * chore: (#532) 액세스, 리프레시 토큰 만료시간 설정 분리 * refactor: (#532) 메서드 분리 및 쿠키의 attribute가 아닌 value를 불러오도록 변경 * feat: (#532) 로그아웃(리프레시 토큰 삭제) 기능 구현 * chore: (#532) swagger명세를 위한 어노테이션 추가 * refactor: (#532) 메서드 순서 변경 및 예외 클래스 수정 * chore: (#532) TestContainers 의존성 추가 * chore: (#532) 테스트 토큰 만료 시간 분리 * test: (#532) 인증 토큰 재발급 및 갱신 토큰 삭제에 대한 검증 추가 * test: (#532) 인증 토큰 재발급 및 갱신 토큰 삭제 요청에 대한 검증 추가 * refactor: (#532) 변수명 수정 및 테스트 final키워드 제거 * refactor: (#532) 메서드 위치 수정 및 트랜잭션 NoRollbackFor옵션 추가 * refactor: (#532) RefreshToken record형식으로 변경 * refactor: (#532) dto리네이밍 및 토큰예외 관련 리네이밍 및 코드 수정 * refactor: (#532) 인증 토큰 재발급 request에 @NotBlank검증 추가 및 관련 테스트 추가 * refactor: (#532) 트랜잭션 처리를 위해 RedisTemplate으로 변경 * refactor: (#532) Json관련 예외를 비즈니스 로직에서 처리하도록 변경 * refactor: (#532) 불필요한 클래스 및 인터페이스 제거 * refactor: (#532) RedisConfig에 트랜잭션을 사용하도록 설정 * lighthouse 결과를 알려주는 github action 구현, 웹접근성 개선, 반응형 관련 버그 1건 수정 (#560) * feat: (#542) lighthosue ci 설치, lighthouse 측정 결과를 알려주는 github workflow 구성 * refactor: (#542) EmptyPostList 컴포넌트 시맨틱 태그로 변경, 검색 결과 문구 변경 * chore: (#542) deafults, paths 추가 * fix: (#548) 게시글 작성, 위로가기 버튼이 잘려서 보이는 에러 해결 * chore: (#542) push 대신 pr 로 github action 변경 * chore: (#542) types 추가 * fix: (#542) lighthouse 결과가 comment로 달리지 않는 에러 해결 * refactor: npm install 을 npm ci 로 변경 * refactor: (#457) 게시글 작성 버튼에 aria-label 추가 * chore: (#542) build에 사용될 env 추가 * chore: (#542) env 파일 세팅 * feat: (#457) 페이지 최상단(헤더 아래) 및 게시글 페이지 마지막에서 게시글 작성 페이지로 이동 가능하도록 구현 * feat: (#457) 최상단에 focus하면 tabIndex 초기화하도록 하는 button 추가, UpButton 누르면 최상단 버튼으로 focus 되도록 구현 * chore: (#542) step name 구체화 * chore: (#542) npm ci -> npm install 로 변경, node 버전 낮추기 * refactor: (#574) testcontainer관련 테스트 클래스 삭제 (#575) * 리프레시 토큰 구현 (#517) * fix: (#508) 변수명 오타 수정 * refactor: (#508) 어색한 함수 이름 수정 * refactor: (#508) function 함수에서 const 화살표 함수로 변경 * feat: (#508) 네트워크 요청을 하기 전 리프레시, 액세스 토큰 여부로 리프레시, 액세스 토큰 최신화 구현 * feat: (#508) 로그인, 로그아웃 시 리프레시 토큰 추가, 삭제되도록 코드 추가 * feat: (#508) 쿠키의 만료기간을 2주로 설정 * test: 리프레시 토큰을 post 통신하여 액세스 토큰, 리프레시 토큰을 반환하는 함수 테스트 * test: (#508) 리프레시 토큰과 액세스 토큰의 유효성 검사를 통해 재발급하는 과정 테스트 * feat: (#508) 재발급 시 오류가 났을 때 쿠키에서 토큰을 삭제하도록 함 * refactor: (#508) 로그인 리다이렉트 페이지에서 유저 정보를 패치해오는 로직 코드 가독성 개선 hasEssentialInfo를 쿠키로 저장할 때 문자열 값으로 수정 * refactor: (#508) hasEssentialInfo을 쿠키가 아닌 로컬스토리지로 변경 유효 기간이 없다는 장점과 보안과 상관없는 정보이기 때문에 Secure, HttpOnly 설정이 필요 없어보여서 로컬 스토리지로 변경 * fix: (#516) hasEssentialInfo 정보를 삭제했을 때 개인 정보를 다시 입력할 수 있던 버그 수정 * refactor: (#508) silentLogin 함수를 유틸 파일로 분리 * refactor: (#508) 쿠키의 유효 기간을 설정 할 수 있도록 함수 인자 추가 hasEssentialInfo를 로컬스토리지에서 쿠키로 변경 * feat: 로컬 스토리지 유틸 함수 구현 및 액세스 토큰 키값 작성 변경된 명세에 맞춰 테스트 코드 변경 * feat: 리프레시 토큰 변경된 명세에 맞춰 silentLogin 코드 변경 및 테스트 코드 추가 * refactor: (#508) 쿠키를 가져오고, 설정하는 유틸 함수를 좀 더 범용적으로 수정 any 타입 삭제 및 액세스 토큰을 쿠키에서 로컬스토리지에 설정하고 가져오도록 기존 로직 변경 * fix: (#508) 액세스 토큰의 값과 현재 날짜로 사용하는 숫자의 단위가 다른 부분 수정 테스트 명세와 다르게 테스트가 동작하던 부분 수정 * refactor: (#508) 토큰과 관련된 유틸 함수를 폴더로 분리 액세스 토큰과 리프레시 토큰을 검증하는 로직 중 동일한 로직이 있어서 중복을 제거 액세스 토큰 타입 파일 생성 테스트 코드 가독성이 안좋다고 생각하여서 상수를 사용하여 가독성 개선하고자 함 * feat: (#537) 로그아웃 api 함수 구현 및 적용 msw, 테스트 코드 작성 * chore: (#508) auth 전역 변수에서 사용하지 않는 정보인 액세스 토큰 정보 삭제 * feat: (#508) 쿠키를 서버측에 보내는 Request에 포함하도록 설정 * refactor: (#508) 사용되지 않는 쿠키에 관련된 상수값 제거 * refactor: (#508) 함수에 사용되는 매개변수 이름을 data에서 value로 변경 * refactor: (#508) 일자를 초로 바꾸는 함수를 이용하도록 수정 * response 필드 변수 수정 (#578) * fix: (#576) response 필드 변수 수정 * fix: (#576) response 필드 변수 수정 * feat: (#552) 네이버 소유권 확인용 meta 설정 (#568) * Release 1.0.1 출시 (#581) * PR 이슈 템플릿 작성 (#2) * docs: (#1) 깃 이슈 템플릿 작성 * docs: (#1) 깃 PR 메세지 템플릿 작성 * chore: 파트 별 디렉터리 생성 * 백엔드 프로젝트 생성 (#5) * chore: (#4) gitignore 생성 * feat: (#4) 스프링 프로젝트 생성 * docs: (#4) EOL 수정 * 멤버의 Entity, Repository 구현 (#9) * feat: (#7) Member, MemberCategory 엔티티 추가 * feat: (#7) Vote 엔티티 추가 * 게시글의 Entity, Repository 구현 (#10) * feat: (#8) 카테고리 Entity, Repository 작성 * feat: (#8) 게시글 Entity, Repository 작성 * feat: (#8) 게시글 카테고리 Entity, Repository 작성 * feat: (#8) 게시글 선택지 Entity, Repository 작성 * refactor: (#8) Entity, Repository 팀 컨벤션에 맞게 수정 * 프론트엔드 프로젝트 설정 (#11) * chore: (#6) 프론트엔드 프로젝트 초기 개발 환경 구축 webpack, react, typescript, eslint 절대 경로 설정 * chore: (#6) styled-components 설치 및 global style 세팅 * chore: storybook 설치 및 세팅 styled-component 관련 세팅 * chore: 테스트 환경 구축 모의 테스트(단위 테스트, hook 테스트) 실행 * 전체 Entity 연관관계 매핑, Auditing 기능 추가 (#13) * feat: (#12) 전체 Entity 연관관계 매핑, Auditing 기능 추가 * refactor: (#12) DB의 MySQL 방언 설정을 MySQL57Dialect 대신 MySQLDialect를 설정하는 것으로 개선 * feat: (#12) JPA를 통해 insert되는 값을 확인하기 위한 설정 추가 Co-authored-by: jeomxon <jeomxon@gmail.com> Co-authored-by: woo-chang <clllickme@naver.com> Co-authored-by: aiaiaiai1 <cvc100326@naver.com> * 불필요한 파일 삭제 및 버튼 컴포넌트를 스토리북 예제 파일로 변경 (#25) * chore: (#21) 불필요한 폴더 삭제 * chore: (#21) 버튼 컴포넌트를 스토리북 예제 파일로 수정 * Jpa Auditing, Swagger 설정 (#27) * feat: (#26) JPA Auditing 설정 추가 * feat: (#26) Swagger 설정 추가 * feat: (#26) 헬스 체크 기능 구현 * chore: (#26) 코드 정렬 * refactor: (#26) 스프링 프로퍼티 불변으로 수정 * 공통 모달 컴포넌트 구현 (#28) * refactor: (#17) App.tsx에서 Example 컴포넌트 import Button 컴포넌트 대신 Example 컴포넌트 import * feat: (#17) Modal 컴포넌트 구현 및 스토리 작성 Modal 컴포넌트는 3가지 상태 - Default, Wide(디바이스 width가 넓은 경우), With Close Button(모달 안에 취소 버튼이 있는 경우)로 구성된다 * chore: (#17) Modal 컴포넌트 common 폴더로 이동 * chore: (#17) Modal 컴포넌트 css property 정렬 * design: (#17) Modal 컴포넌트 내 Body, Description css 수정 * refactor: (#17) 파일 간 순환참조 코드 삭제 * refactor: (#17) Modal 컴포넌트 onModalClose props에 setStateAction 대신 일반함수(closeModal) 전달하도록 수정 * chore: (#17) 오타 수정 * refactor: (#17) story에서만 사용하는 style들 stories.tsx 로 이동 * refactor: (#17) size props의 타입 분리 대신 컴포넌트 파일 내에 명시 * refactor: (#17) 모달 사이즈 상수화 * chore: (#17) 불필요한 export 삭제 * 공통 버튼 컴포넌트 구현 (#31) * feat: (#15) 추가 버튼(글쓰기, 선택지 추가용) 구현 * test: (#15) 추가 버튼(글쓰기, 선택지 추가용) 크기별 테스트 생성 * feat: (#15) 네모버튼 구현 * test: (#15) 네모버튼 테마별 테스트 생성 * feat: (#15) 헤더에 들어갈 글자버튼 구현 * test: (#15) 헤더에 들어갈 글자버튼 테스트 생성 * design: (#15) 더하기버튼, 네모버튼 컴포넌트 cursor를 포인터로 수정 * feat: (#15) 아이콘, 로고, 프로젝트 이름 svg파일 생성 - 아이콘: 뒤로가기, 카테고리 사이드 바, 검색 * chore: svg import를 위한 설정 * feat: (#15) 아이콘 버튼 구현 * test: (#15) 아이콘버튼 테스트 생성 * feat: (#15) 웹 접근성을 위한 aria-label 속성 추가 * chore: npm 설치하기 * refactor: 삭제된 컴포넌트 코드에서 제거 * feat: (#15) 클릭이벤트를 인자로 받아 속성 부여 * test: (#15) 클릭이벤트 프롭스추가, 테스트에 반영 * refactor: (#15) 추가 버튼 스타일 컴포넌트 중 사이즈 상수화 - 추가로 가로, 세로 길이 통일 * test: 중복되는 아이콘 버튼 테스트명 생략 * design: (#15) 헤더글씨버튼 굵기 수정 * refactor: (#15) 아이콘 관련 타입 정의 및 상수 분리 * design: (#15) 네모버튼 outline -> border로 수정 * refactor: (#15) 웹접근성 향상을 위한 aria-label, alt 수정 * refactor: (#15) 버튼 컴포넌트 프롭스가 버튼 엘리먼트 상속 받도록 수정 * refactor: (#15) 사이즈 단위 타입 파일로 분리 및 이름 수정 - 이름 수정: s/m/l -> sm/md/lg * test: (#15) 버튼 컴포넌트 프롭스 변경에 따른 테스트 코드 수정 * refactor: (#15) 추가 버튼 코드 리팩토링 * refactor: (#15) 웹접근성 향상을 위한 aria-label, alt 수정 * 게시글에서 보는 투표 선택지 컴포넌트 UI 구현 (#30) * feat: (#18) 게시글에서 보는 투표 선택지 컴포넌트 UI 구현 * refactor: (#18) 가독성 좋은 코드가 되도록 변수명 수정 및 CSS 속성 변경 글 목록에서 이미지 안 보이도록 수정 * refactor: (#18) 불필요한 코드 삭제 및 퍼센트 소수점 1자리 보이도록 수정 * PR 진행 시 테스트 통과 선행 기능 구현 (#37) * chore: (#33) .gitignore 수정 * feat: (#33) PR시 테스트 선행 기능 구현 * TimePickerOption, TimePickerOptionList 컴포넌트 구현 (#35) * feat: (#19) TimePickerOption 컴포넌트 구현 및 스토리 작성 * design: (#19) 폰트 스타일 수정 * refactor: (#19) 이벤트 관련 함수명 맨 앞에 handle 추가 * chore: (#19) 컴포넌트 폴더 구조 변경 TimePickerOptionList 폴더 생성, 해당 폴더 하위에 TimePickerOption 컴포넌트 위치 * refactor: (#19) TimePickerOption 에서 TimePickerOptionList의 스토리 및 스타일 분리 * design: (#19) Wrapper style 추가, Container width 퍼센트로 수정 * refactor: (#19) 변수명 수정 * fix: (#19) 최상단으로 스크롤 안되는 이슈 해결 border style 추가 * chore: (#19) 불필요한 export 코드 제거 * chore: (#19) 오타 수정 * refactor: (#19) TimeBox 하위의 child 높이값 상수화 및 중복된 변수 제거 * refactor: (#19) early return 추가 및 useEffect의 의존성 배열에 인자 추가 * 헤더 컴포넌트 구현_Feat/#16 (#39) * feat: (#16) 검색 아이콘 색상(검/흰) 분리 * feat: (#16) 검색바 컴포넌트 생성 * test: (#16) 검색바 컴포넌트 크기별 테스트 * feat: (#16) 탭, 모니터용 긴 헤더 컴포넌트 생성 * test: (#16) 탭, 모니터용 긴 헤더 컴포넌트 테스트 생성 * feat: (#16) 로고, 프로젝트명 버튼 컴포넌트 생성 * test: (#16) 로고, 프로젝트명 버튼 컴포넌트 테스트 생성 * refactor: 로고 버튼으로 기존 코드 변경 * feat: (#16) 모바일 버전 메인페이지 헤더 컴포넌트 생성 * test: (#16) 모바일 버전 메인페이지 헤더 컴포넌트 테스트 생성 * feat: (#16) 모바일용 짧은 헤더 템플릿 컴포넌트 생성 - 내용을 children 프롭스로 전달받도록 구현 - 상단 고정 등 공동의 스타일 공유하기 위해 컴포넌트 제작 * test: (#16) 모바일용 짧은 헤더 템플릿 컴포넌트 테스트 * design: (#16) 검색바 버튼 커서를 포인터로 수정 * test: (#16) 스토리명 파스칼케이스로 수정 * refactor: (#15) 로고 컴포넌트 프롭스명 수정 * test: (#15) 로고 컴포넌트 프롭스명 수정에 따른 테스트 수정 * style: (#15) 코드 컨벤션에 맞게 CSS 순서 정렬 * refactor: 짧은 기본 헤더 이름 수정 - NarrowOriginHeader > NarrowMainHeader * 리액트 쿼리, msw 설치 및 셋팅 (#48) * feat: (#46) msw, react-query, .env 적용 - 스토리북에도 적용 * feat: (#46) react-query 앱 컴포넌트에 적용 * refactor: (#46) env파일 삭제 * chore: (#46) env파일 gitignore에 추가 * fetch 유틸 함수 구현, 예시 useQuery 훅 구현 , 예시 api 함수 구현 (#51) * feat: (#49) fetch 유틸 함수 구현 (GET, POST, PUT, PATCH, DELETE) * feat: (#49) api 폴더 안에 컨벤션이 될 예시 함수 구현 * feat: (#49) 컨벤션이 될 예시 useQuery 훅 구현 * 투표 작성 페이지의 투표 선택지 컴포넌트 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를 이용하여 가독성 개선 * des…
- Loading branch information