modulersYJ / ganoverflow-front

2 stars 2 forks source link

Dev: 사이드바, 따봉, 커멘트, 카테고리 등 변경사항에 대한 패치노트 #48

Closed ABizCho closed 1 year ago

ABizCho commented 1 year ago

구현된 기능

  1. 게시판 기능 : 댓글 등록/조회, 따봉/붐따, 게시글 등록/조회
  2. 채팅 기능 : 폴더 단위로 관리 가능, Drag and Drop 기능, 게시물 제목 변경.
  3. API 관련 : GPT 3.5 Streaming 처리
  4. 기타 에러 수정

세부 패치노트


GET에서 사용되지 않는 NoHeaders 변수 제거

08d8bab



GET에서 사용되지 않는 body 주석라인 제거

014e46e



feat-chat: getAllChatPostsByUserId 함수에 authData와 userId를 받도록 수정

d7f5459



react-beautiful-dnd를 이용한 폴더 간 드래그앤 드랍 순서 변경 just in client state 구현, …

ec650db …(파일간 이동 구현 및 update 요청 추가 필요)



Merge branch 'feat-chat' into feat-chat-dnd

d3f48fa



feat-user: local storage에 저장하던 user 로그인 기본정보를 sessionStorage로 변경

d09160d 브라우저 세션 종료에 따라, 로그인 정보를 말소시키기 위해 변경사항 적용



feat : stars post 전송까지 구현 완

ab21e87



fix : post 이후 get까지

bd5fcc6



feat-chat-dnd: 폴더 간 순서변경만 반영 using react-beautiful-dnd

0f0f020



stash : 다 서버에서 처리하는게 맞다, 이게 내 결론이다

5c4d6d6 git 깨진거 복구 - 1명이 누른 경우에 작동 확인


56e5275 minor fix : 상태명 변경, 상단에 따봉수 제거, 사용자 따봉 여부 따라 버튼에 동적 클래스명 부여 e6864d4


Merge pull request #26 from modulersYJ/feat-likes

33cb8db Feat likes - 따봉 기능 구현 완



feat-chat-dnd: react-dnd를 활용 계층구조 DND 구현 중 (순서 변경x, 더미데이터)

ed85596



feat-chat-dnd: 실제 state 연동 완료 등 부수작업

1ee757e feat : chatpost 등록할 때 모달에서 카테고리 선택해서 insert하기



c11525c fix : 카테고리 선택 안할수 있게 option 에 value = 추가함. 테스트 후 비즈니스룰 수정 필요할지도 d925cc8


저장 modal 모듈화, 분리 5f71559


fix : utils를 app루트가 아닌 src 루트로 이동 & chatpost의 title을 chapostName 변경

2102043



feat-chat-dnd : react-dnd사용 DND를 통한 파일,폴더 소속 변경 구현

6b2cff5 핵심: 프론트/백엔드 전반적으로 folder관련 구조 및 기능구현 로직을 변경했습니다.


아직 순서 변경은 유효하지 않습니다 & 전반적으로 리팩토링을 해야할 것 같습니다.

  1. 드래그앤드랍 사용 라이브러리 및 구현방식 변경

    • 직전 chatSideBar에서 한번에 작성된 react-beautiful-dnd 제거, react-dnd 모듈화 적용
    • recoil로 folderWithChatposts 상태를 관리 (드래그앤드랍 핵심로직 포함)
  2. getFoldersByUser는 그대로 유지(서버의 응답값은 동일), putFoldersByUser` 구현

    • put은 드래그앤드랍 발생 시마다 Container 컴포넌트에서 수행
    • put: 상태로 유지하는 FoldersWithPosts를 JSON으로 유저 필드에 저장(overwrite)
  3. 기반작업 & 부수작업

    • utils/folder.ts: 폴더-포스트 관련 시리얼라이저 & 리스트럭트 함수 구현, 활용
    • PUT 요청자 구현: Axios로 추가, POST와 전반적으로 비슷, params도 옵셔널 인자로 존재
    • useDidMountEffects 커스텀 훅 추가 : 첫 마운트 시는 Effect가 발생하지 않는 훅
    • 기타 side effects task에 해당하는 interfaces 수정 등 부수작업.

Resolve Conflicts & fix : 의존성 누락 수정 & utils import 경로수정

3172fde



Merge branch 'dev' into feat-category

5e37870



Merge pull request #27 from modulersYJ/feat-category

a3ef21f Feat category



fix: chat/page.tsx Merge Conflicts 해소 중 중괄호 누락으로 인한 페이지 렌더링 문제 해결

da2c3e6



Update tsconfig.json

40aff14 불필요한 include 제거 (테스트용 include였음)



feat-chat-folderNpost: putFoldersByUser 요청의 서버 처리결과를 state에 재반영

a90498b 드래그앤드롭 소속변경에 따른 처리에 의해 저해될 수 있는 데이터 정합성을 높이기 위한 조치입니다.


  1. 이후, chat 페이지 내의 post 추가, 제거 / folder 추가, 제거에도 반영해줄 예정입니다.

  2. folder의 default post를 클라이언트에만 유지하도록 합니다(atom에서 state를 serialized chatposts로 변환하여 처리할 때, '펼쳐진' chatposts에만 folder정보가 유지되기 때문에, 항상성을 가진 default chatposts가 없을 시 folder는 chatpost가 없어서 제거되는 부수효과 발생함. 이를 방지하기 위함


feat-chat-folderNpost: DND컨테이너 put요청에서 리코일 파생state 대신 메인state 사용 등

c844de5 기타 부수작업 완료. 리팩토링 예정



Merge branch 'dev' into feat

0389220



Merge pull request #35 from modulersYJ/feat

d4171ab feat-chat-folderNpost: DND컨테이너 put요청에서 리코일 파생state 대신 메인state 사용 등



fix : 마이페이지 드랍다운메뉴

7ca2608 hongre and others added 16 commits 3 days ago



hotfix : chatPostName으로 칼럼명 바뀐거 뒤처리

0f8487e fix : 댓글창 기초 UI 수정 (댓글 작성자, 작성일(시간) 추가), parseDate 함수 모듈화


923949f


Merge pull request #42 from modulersYJ/fix-comments

92f7ebe fix : 댓글창 기초 UI 수정 (댓글 작성자, 작성일(시간) 추가), parseDate 함수 모듈화



feat-routeModule: PATCH 추가 & POST, PUT, PATCH 추상화, 구조화된 props로 변경

df36ee3 routeModule의 수정사항들입니다.


  1. PATCH 요청 함수를 추가헀습니다. - updateChatpostName(포스트이름 변경) 함수에서 PATCH요청을 사용하기 때문에 설계했습니다.

  2. axios를 사용하는 세가지 요청함수 POST, PATCH, PUT 평가부 공통 추상화: REQUEST

  3. axios 요청 함수 세가지 IProps 설계 및 구조화된 props 받도록 설정

    • 명시적 key 준수에 따른, 순서자유도 및 선택적 인자를 본격적으로 사용할 수 있음.
    • 이에 따른 부수작업: axios 요청 함수 호출 측 인자 입력 일괄 수정

fix : saveChatModal - chatpostName 필드명, state 변경 & category key 설정

f252e9f



feat-chat-folderPost : 사이드바 - 폴더/포스트 관련 update, delete, add 함수 등 적용

23c0af6

  1. 사이드바 onClickNewFloderBtn 이벤트핸들러 구현 및 적용


  1. 사이드바 Update PostName & Update FolderName 구현

    • TitleEdit.tsx로 Name변경 컴포넌트 모듈화 하여 공통 적용
    • updateChatpostName, updateFoldersWithPosts 함수 구현
    • 위의 함수에서 활용될 PATCH 요청함수 추가 및 활용(직전 커밋)
  2. 사이드바 Delete Post 구현

    • 폴더에 딸린 삭제 버튼 클릭 시, 즉시 onClickDeleteChatpostBtn 평가
    • 해당 이벤트 함수는, 현재 chatpost를 제거한 folders를 상태로 업데이트 -> page.tsxput 트리거.
  3. 사이드바 Delete Folder 구현

    • 폴더에 딸린 삭제 버튼 클릭 시, isDeleteFolderClicked 상태 토글 -> 삭제 재확인 후 삭제
    • delete를 위한 추가 요청함수는 구현 X => page.tsx에 물려있는 useEffect중 하나가 setFolderWithPosts에 의한 변경을 감지 및 put 트리거
  4. 폴더 접기, 펼치기 구현

    • Folder.tsx/FolderUnittoggleFoldersSpread가 토글버튼 클릭에 따라, 현재 폴더 아이디에 할당된 boolean isSpread을 토글 -> Folder에서 Chatpost 렌더 조건에 걸림

Merge branch 'feat-chat' into feat

ec96d6b



Merge branch 'dev' of https://github.com/modulersYJ/ganoverflow-front

a63dcdc …into feat



fix: register의 POST 호출부 인자 객체로 수정

7e6991e



fix: IChatPostWithFolder -> IChatpostWithBasicInfo 인터페이스 픽스

7ed5529



Merge pull request #43 from modulersYJ/feat

720d78f feat-chat-folderPost : 사이드바 - 폴더/포스트 관련 update, delete, add 함수 등 적용, 외 2가지



feat-posts: PDP 중 postDetailMain 컴포넌트화 및 부가작업

e5a5359

1. [chatPostId]폴더 내 components 폴더 생성 및 컴포넌트 일괄 이동


2. postDetailMain.tsx: PostHeader, PostChatPair로 분리 및 조합한 컴포넌트 서술부에 import -> 가독성 제고

3. interfaces/chatpost.d.ts : nest에서 업데이트된 IChatpost 반영 노력(미완)

IStar 완성 필요! - 완성 이후, posts 관련 함수 및 컴포넌트에 명시해주기

4. interfaces/posts.d.ts : posts관련 IProps 정의 (추가 정의 필요)


Merge pull request #44 from modulersYJ/feat

1c2b056 feat-posts: PDP 중 postDetailMain 컴포넌트화 및 부가작업



feat-chat: SideBar에서 선택한 chat 로드 & 이어서 하기 버튼 추가 (기능미완)

574a503 사이드바의 저장된 포스트 클릭에 따른 chatpost 가져오기 등에 관한 작업을 수행했습니다.


1. isLoadedChat 상태를 통해, 이어서 하기 버튼 조건 렌더링

아직 실제 동작까지는 연결하지 못했습니다 ( 관련된 상태가 너무 많아서 일단 UI만 작업함 )

2. IChatPair에 정의된 불필요한 isUser 필드 제거 및 관련 chat 조건렌더 로직 개선

3. getOneChatPostById: 포스트ID를 통해 챗포스트 정보만 가져오는 함수


fix: utils 내에 있던 jwtHook을 hooks 폴더로 이동하였습니다.

855d49d



Merge pull request #47 from modulersYJ/feat

5091f21 feat-chat : SideBar에서 선택한 chat 로드 & fix: jwt hook 폴더 hooks로 이동





@hongregii : 마찬가지로 엄두가 안나서 커밋기반으로 나열해놨습니다ㅋㅋ.
일단 큰 문제없으면 머지하고, 좀 더 마무리 지은 후에 아예 총정리 문서로 정리하시죠!

vercel[bot] commented 1 year ago

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
ganoverflow-front ✅ Ready (Inspect) Visit Preview 💬 Add feedback Jul 21, 2023 11:40pm