발표 흐름 : 코드를 중점적으로 설명하기보다 기능적인 차별에 중점을 두기
깃이슈 트러블슈팅 프로세스화 메모
공지사항
프로젝트 어느정도 마무리되고 배포되면 누가 폴더구조를 리드미에 올려주시면 감사하겠습니다
리드미 제가 지금 살짝 더 수정하고 말씀드릴게요 차례대로 본인 역할 추가해주시고 더 추가할 내용 있다고 생각하시면 자유롭게 넣어주세요!
윤우님 계정
email : dawn@test.com , pw : 123123
정음님 계정
email : asanzzang@test.com, pw : 123123
지해님 계정
email : jezzz@test.com , pw : whatisjezz
재호님 계정
email : jaeho@test.com, pw : 123123
발표 자료 준비
1. 우리팀만의 차별점 모아보기
1-1-1.상품등록 api 필터해서 카테고리로 나눈 것
기존의 상품APi에 주어지는 itemName 프로퍼티를 셀렉트 박스를 이용해 value를 강제로 고정시켜 카테고리로 이용.
스터디,음악,공부꿀팁 등 해당하는 게시판url로 이동하면 follower 게시물과 내 게시물을 모아 filter 메서드로 해당하는 itemName을 가진 게시물들만 모아 보여주도록 변경
1-1-2. axios 폴더로 만들어서 api 관리
각 api에 필요한 baseURL이나 Header등을 instance로 나누어 export하여 사용할 수 있도록 만들고 명세별 데이터를 CRUD하는 axios파일을 이름별로 분리하여 같은 데이터를 불러오거나 할 경우 해당 파일을 import하여 재사용 할 수 있도록 관리
1-1-3. react-query 사용
react-query의 장점인 캐싱처리를 이용해 데이터의 변경점이 없다면 캐시 되어 있는 데이터를 보여줌으로
api호출을 최소한으로 만들어 서버의 부하를 줄이려 노력했습니다.(근데 캐싱처리 제대로 못했음)
1-1-4. 토글 버튼 눌러서 글 작성, 타이머
토글을 사용한 이유와 토글안에 타이머가 있는 이유를 말씀드리자면 하단 메뉴바의 갯수가 많아지는것을 최소화 하며새벽공부 커뮤니티에 맞는타이머라는 이벤트적 요소를 추가하여사용자에게 보다 편리한 기능을 제공하고자
기능을 구현하게 되었다
1-1-5. 데이터를 다루는 비즈니스 로직과 함수들을 각 페이지 최상위에 모아둠
데이터를 다루는 로직이나 함수들을 하위 컴포넌트에 위치하게 되면 아토믹 패턴에서 문제가 생겼을 경우 page-> template -> organisms -> molecules -> atoms 폴더를 전부 살펴봐야 하는데 비즈니스 로직을 페이지의 최상위 컴포넌트인 page에 위치함 으로써 문제가 생겼을 때 더 빠른 문제해결이 가능해졌다. 단점은 props드릴링을 피할 수 없고 현재보다 한페이지에 들어가는 비즈니스적 요소가 커질경우 코드의 길이가 부담스러워 질 수 있다
1-1-6.프롭스 드릴링 이용
: 프롭스 드릴링이 단점이 될 수도 있지만, 전역 상태 라이브러리를 많이 이용하면 전역 메모리를 그만큼 많이 사용하는 것이기 때문에 프로젝트 규모를 봤을 때 정말 필요한 경우 외에는 쓰지않고 프롭스 드릴링을 사용하는 것이 성능적인 측면에서 낫다고 판단해서 전역적으로 사용하는 modal을 제외 하고는 프롭스 드릴링으로 적용했다.
2. 차후 개선할 점
2-1-1. @123 붙여서 우리 회원임을 구별하기
accountname에 적용해서 검색했을 때 우리 회원만 뜨도록(?)
2-1-2. 커스텀 훅으로 빼서 재사용 가능하게 하기
동일한 코드 사용한 부분 사진 넣기
2-2-3. 차별화된 코드로 보이게끔 추후 코드 리팩토링 필요
3. 프로젝트 하면서 느낀점
3-1-1. 윤우님
•
좋았던점 :
•
아쉬웠던점 :
3-1-2. 정음님
•
좋았던점 :
•
아쉬웠던점 :
3-1-3. 지해님
•
좋았던점 :
•
아쉬웠던점 :
3-1-4. 재호님
•
좋았던점 :
•
아쉬웠던점 :
4. 깃허브 수정사항
4-1-1. 리드미 수정할 부분
•
폴더 구조 위로 올리고 아토믹이랑 합치기
완료
•
카테고리 상세 기능들 테이블 추가
•
목차 추가 (링크태그)
•
커밋 컨벤션 캡쳐 추가
완료
•
각자 역할 분담 적을 때 세부적으로 적기
◦
정음 
◦
윤우
◦
재호
◦
지해