HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
🐣
프론트엔드 데브코스 4기 교육생
/
이동근팀
이동근팀
/
🦢
리팩토링
/
🌅
1월 2일 회의
🌅

1월 2일 회의

회의 기한
‣

회의 주제


☝🏻
API 명세서 회의를 진행한다.
  • 각자 머쓱레터의 API 를 조사해온다.
    • 필드명 통일화, 공통 API 묶기,
  • queryOptions 로 queryKey 관리
api-docs 를 로컬 환경에서 실행하는 방법
yarn api-docs start
 
✌🏻
express 공부한거 공유하기
  • 생활코딩 express 강의 듣고 공유
Node.js - Express - 생활코딩
Node.js - Express - 생활코딩
https://opentutorials.org/course/3370
✌🏻
오프님 테스트 코드 강의
     
     
     

    현재 몇 가지 해놓은 작업에 대해서..

    Express 디렉토리 구조

    상세 내용은.. 이 PR 에서 확인 가능.
    (리팩토링 완료 시 제거될 파일이나 디렉토리에는 언더바를 붙혀 놓았음!)
    📂 src 📂 _apis: 기존에 구현된 SNS API, 슬랙 API 등 외부 서비스에 대한 로직 (추후 제거될 예정..) 📂 _handlers: 기존에 구현된 슬랙 관련 컨트롤러 로직 (추후 제거될 예정...) 📂 config: 각종 설정 로직 📂 domains: 각 도메인에 대한 소스코드 (우선 REST API의 가장 앞 부분에 해당되는 것들로 묶어 놓았어요.) 📄[domain].controller.ts: 클라이언트의 요청에 대한 응답을 처리하는 곳 📄[domain].service.ts: 도메인에 대한 각종 비즈니스 로직이 들어가는 곳 📄[domain].repository.ts: DB에 액세스하는 직접적인 로직이 들어가는 곳 📄[domain].validator.ts: 클라이언트의 Request 객체에 대한 유효성 검사 로직을 작성하는 곳 📂 middlewares: 특정 도메인에 종속되지 않고 전역적으로 사용되는 Express 미들웨어 (유효성 검사, 로그인 검사 등) 📂 models: TypeORM 스키마 (그대로 DB에 적용) 📂 types: 각종 타입 📂 utils: 각종 유틸성 로직
     

    회원가입 기능 구현

    우선 간단하게 accessToken만 발급 받도록 해 놓았음..
    PR 내용
     

    Express에 Jest 설치

    Jest 설치하고, 간단하게 단위 테스트 몇 개 작성해보았음.. (auth service, 미들웨어 등등)
    PR 내용
     

    Express를 로컬에 띄우기 위해서..

    • Express 서버에서 MySQL, Redis를 사용하고 있기 때문에 각자 컴퓨터에 설치가 필요..
    • 각자 로컬에서 데이터베이스 계정과 비밀번호를 환경변수 .env에서 변경하는 과정 필요
    • (원래 Docker 컨테이너로 환경을 만들어 놓을 수 있을 거 같은데.. 아직 그 쪽까지 학습을 못해서 해놓지 못했음.. 😂)
    • env 파일은 회의용 디스코드 채널에 업로드해놓았음
     
     
     
     

    회의 결과

    스키마

    • User 스키마 변경
      • username → email
      • image_name → image_url
    • Comment 스키마
      • author → author_id (삭제 기능 때문에 FK 연결해야함.)
      • nickname 추가 (닉네임 필드)
      • updated_at 제거
     

    API

    • PUT /users/{userId}
      • 액세스 토큰 header에 추가 완료.
    • GET /posts
      • 작성자 이름 들어가야 함.
        • → authorId, authorName 필드 작성 완료.
      • comments 배열 대신에 commentCount만 있어도 됨. (FE도 수정 사항 반영)
        • → commentCount 로 변경 완료.
    • GET /posts/{postId}
      • 액세스 토큰 없어도 됨.
      • → 액세스 토큰 삭제 완료.
    • POST /posts/{postId}/comments
      • 비회원 전용이랑, 회원 전용이랑 구분해서 API 포인트 작성하기.
      • → 같은 API에 query 파라미터로 asSignedUser=true | false 값에 따라서 비회원과 회원 전용을 구분했음. 완료.
    • 편지 삭제 API 추가해야 함.
      • → DELETE /comments/{commentId} 완료.
    • 로그인 API에서 validation 안보내주기.
      • validationFilter에 인자 하나 보내서.. validation 필드 줄지 안줄지 수정하기
     
     

    (2주) 작업 분배

    • 상훈: 인프라, 패키지 매니저, 자동화, Github Actions, … 등등 해보고 싶음
        1. PR 빌드 실패 체크하기.
        1. ERD-cloud로 ERD 옮기기
        1. 오늘 의논한 내용 바탕으로 API DOCS 업데이트하기.
        1. 오늘 의논한 내용 바탕으로 DB, Auth 로직 변경하기
        1. TanStack Query V5 마이그레이션 (단순히 버전만 올리기)
        1. Query Key Factory 패턴으로 queryOptions 정리 (새로운 API 적용)
        1. 백엔드 API
            • /auth 관련 API
            • PUT /users/{userId}/slack} 슬랙 계정 연동
            • POST /slack/verification 슬랙 DM으로 인증 링크 전송
        1. 테스트 코드 공부…. (할 수 있으려나 ㅠ0ㅠ)
    • 주연
        1. 폰트 관련 최적화
        1. 테스트코드 공부 ⇒ 특히 msw와 어떻게 테스트할지에 특화해서 공부하고싶음
        1. 백엔드 공부 + api
          1. GET /users 사용자 목록 조회
          2. GET /posts/{postId}/comments 댓글 다건 조회
          3. GET /comments/{commentId} 댓글 단건 조회
    • 호원
        1. Post, Comment api 초안 구현
          1. GET /posts/{postId} 머쓱이 상세 조회
          2. DELETE /posts/{postId} 머쓱이 삭제
          3. POST /posts/{postId}/comments 특정 머쓱이에게 편지 작성
        1. Tanstack Query 사용 패턴 공부
        1. 테스트 코드 공부
    • 호수:
        1. 백엔드 API 구현
            • /posts 머쓱이 목록 조회
            • /posts 머쓱이 생성
        1. 최신순, 인기순 ‘토글버튼’ 머쓱이 목록 조회
        1. 머쓱 생성 react hook form 적용 (까먹고있었..)
        1. 배포 과정 코드 , API 요청 후 DB 확인
    • 현지
        1. 기존 코드를 useSuspenseQuery 훅으로 변경
        1. 서버 API 구현 (프로필 이미지 s3 업로드 공부하기 )
          1. GET /users/{userId} 특정 사용자의 정보 조회
          2. PUT /users/{userId} 사용자의 정보 수정
          3. PUT /users/{userId}/photo 사용자의 프로필 이미지 수정
     
     

    규칙

    1. 2주에 1번 테크스펙 작성하기(개인 블로그에 작성하고 깃허브 wiki에 블로그 url 또는 내용 복붙하기)
    1. PR 리뷰 규칙
      1. 이슈 올리고 브랜치 만들기
      2. PR 올릴 때 D-3, D-1 라벨 달고 PR 올렸다고 카톡방에 올리기
      3. 최.대.한 모든 인원이 코드리뷰 해주기
      4. PR 꼭 쪼개서 올려주세요. 한꺼번에 올리면 Merge X
    1. 스크럼 회의 - 주 1회
      1. 궁금한 점은 디코에서 실시간 or 비동기 커뮤니케이션
    1. 머쓱 레터 작업 중에는 디코에 들어와있기!