HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
♥️
2기 최종 프로젝트 팀별 공간
/
📚
[팀06] Books
/
🧑‍💼
프론트 회의록
/
프론트 회의록 - 220722

프론트 회의록 - 220722

논의할만한 사항

  1. PR 템플릿 / 이슈 템플릿을 정하나요?
      • 코드 변경 이유 / 발견한 버그
      • PR 설명 (코드 변경 내용 설명)
        • 어떤 기능 추가
        • 어떤 버그 수정
      • 리뷰어가 집중하면 좋을 부분
      • 관련 캡처
      • 기타 현 PR에 대한 고민 사항 / 질문
      • 이슈 / PR 라벨 추가 (큰 카테고리 정도)
 
  1. 기술 스택 확정
      • Next.js 사용!
      • 전역 state 우선 context api 관리하다가 커지면 redux 등 전역 라이브러리로 마이그레이션
  1. 프론트 노션 문서
      • 에러 해결 모음
        • 문제 사항을 해결할 때 마다 기록
      • 스크럼
        • 회의록과 별개로 스크럼에 대한 내용 저장
      • 컨벤션
        • 변수 네이밍
          • 컴포넌트 이름 파스칼 케이스 (ComponentName)
          • 상수 이름 대문자와 언더바 (MAX_NUMBER)
          • 변수 이름은 카멜케이스 (name, myName)
        • eslint
          • airbnb
          • 최종 프로젝트 임시 회의록
            에 eslint 수정 제안 작성한거 있습니다
        • 폴더 구조 (디자인 패턴)
        • 깃 커밋 메시지
          • feat
          • fix
          • style
          • chore
          • build
            • 라이브러리 설치 관련
          • css도 하나의 기능으로 보고 feat, fix
          • console.log도 사용자 입장에서는 에러기 때문에 fix
          • Conventional Commits
            A specification for adding human and machine readable meaning to commit messages
            Conventional Commits
            https://www.conventionalcommits.org/en/v1.0.0/
        • 깃 브랜치 전략
        • 머지 전략

논의한 사항

  • 이슈는 자유 (할 일 or 버그) / PR 템플릿은 프로그래머스 기본 PR 템플릿에 주석을 지워서 추가
  • 코멘트 템플릿도 노션에 작성해서 가져오는걸로
  • 동영 멘토님의 라벨중에서 규모, 브레이킹 체인지, 반복 빼고 나머지 모두 사용
Labels · pers0n4/.github
You can't perform that action at this time. You signed in with another tab or window. You signed out in another tab or window. Reload to refresh your session. Reload to refresh your session.
Labels · pers0n4/.github
https://github.com/pers0n4/.github/labels
Labels · pers0n4/.github
  • Next.js 사용합시다!

다음에 논의할 사항

  • 폴더 구조 (디자인 패턴)
  • 깃 커밋 메시지
    • feat: 새로운 기능의 추가 + UI 스타일
    • fix: 버그 수정, console.log, css 버그 수정
    • docs: 문서 수정, 주석제거….
      • Vscode 확장 ‘Comment Anchor’
      • 커밋 메시지 제목에 ‘feat: 로그인 페이지 추가’, 내용에 ‘docs: TODO api 반영’ 처럼
    • fmt: 코드 스타일 (세미콜론, 코드 수정이 안됐을 때, 공백)
    • refactor: 코드 기능 수정 (변수명 수정, 컴포넌트 분리, 가독성 + 효율성이 향상되었을 때)
    • test: 테스트 코트, 리펙토링 테스트 코드 추가
    • build: eslint, prettier, 라이브러리..…
 
  • 깃 브랜치 전략
    • main / dev
    • ex)
        1. #237/Feat/DummyData
        1. 76/Refactor/Card-to-BaseCardContainer
  • 머지 전략
    • approve 갯수
    • all resolve
      • 리뷰 댓글에 대해
    • dev로는 그냥 merge / rebase 중에 선택
    • release는 sqush
  • 디자인
 
이게 기본 폴더 맞나요? CNA로 Next.js 생성했을 때
이게 기본 폴더 맞나요? CNA로 Next.js 생성했을 때
폴더구조 제안
  • 라우팅은 기존 page 폴더에서 폴더 구조로 가져간다
  • component폴더는 비슷하게https://github.com/cobaltinc/co-design/tree/main/packages/co-design-core/src/components/Affix 실시간으로 보고계쎳군요 ex> Affix폴더 아래
    • index.ts
    • Affix.tsx
    • Affix.stoires.tsx
    • style.tsx ⇒ tsx 문법을 활용하지 않아도 되면 ts로 변경
    • 이런구조로
  • CSS Wrraper / Container
    • 첫 껍질은 Wrapper, 그 위부터는 Container
    • Wrapper는 컴포넌트만 가능하고 Wrapper나 Container는 래핑할수없다
  • Typescript
    • type 네이밍 파스칼 케이스
    • 객체는 Interface 권장
    • defaultProps 사용 X, props에 기본값 지정 ⇒ eslint 룰 수정 필요
  • "react/require-default-props": "off", eslint if 1줄일때 괄호 안쓰게끔
 
*전체 폴더 구조는
  • nextjs제공 폴더 말고,
  • components : 공통컴포넌트
  • hooks: 커스텀훅
  • utils : 리액트 라이브러리를 안쓰는 헬퍼함수들 ,
  • feature 폴더에는 페이지에 종속된 컴포넌트 (1회성 컴포넌트)를 작성한다
    • 스크럼을 통해 feature로 갈지, 페이지에 존재할지 결정
    • 페이지에서 5개 컴포넌트를 렌더링 하더라도 짧으면 이해가 쉽고, 2개를 렌더링하더라도 1개가 길면 복잡해서 분리가 좋을듯하다
    •