Skip to content

35기 AND SOPT 합동세미나 모바일 웹 1조 - 스카이스캐너 레포지토리 ✈️

Notifications You must be signed in to change notification settings

SOPT-all/35-COLLABORATION-WEB-SKYSCANNER

Repository files navigation

스카이스캐너


image

📌 합동 세미나 - 스카이스캐너

  • 디자인 파트원들이 UX개선을 위해 기존의 서비스를 리디자인 해온 것을 서버파트와 함께 협업하여 구현하고 디자인 파트, 기획파트와 협업을 경험해볼 수 있는 세미나입니다.
  • 모바일 웹 1팀은 스카이스캐너 리디자인을 진행했어요!

✨ OUR TEAM

프로필사진 프로필사진 프로필사진 프로필사진
건휘
가연
민정
희선
@KIMGEONHWI @ayla-12 @minjeoong @heesunee

🛠 기술스택

역할 종류
Library React
Programming Language TypeScript
Styling Styled Components
Data Fetching Axios
Formatting ESLint Prettier
Package Manager Yarn
Version Control Git GitHub
Deployment Vercel

👥 역할 분담

👨🏻‍💻 건휘

종류 목록
setting ⚙️ eslint & prettier 절대경로
view 📱 위시 리스트 페이지
api 📡 위시 리스트 조회(GET) 좋아요(PATCH)

👨🏻‍💻 가연

종류 목록
setting ⚙️ GlobalStyle theme
view 📱 Home 페이지
api 📡 홈페이지 항공권 호출(GET)

👩🏻‍💻 민정

종류 목록
setting ⚙️ 폴더 구조 라우팅
view 📱 공통 컴포넌트(상단 Header) 캘린더 검색 필터 모달
api 📡 캘린더 호출(GET)

👩🏻‍💻 희선

종류 목록
setting ⚙️ VITE svg
view 📱 공통 컴포넌트(Footer) 항공권 페이지
api 📡 항공권 조회(GET) 좋아요(PATCH)
1️⃣ Commit 컨벤션

commit 규칙

키워드: 내용

  • 예시:
    • init: 초기 세팅
    • feat: 기능 개발

Commit 메시지 종류 설명

제목 내용
init 초기 세팅
feat 새로운 기능을 추가할 경우
style 기능에 영향을 주지 않는 커밋, 코드 순서, css 등의 포맷에 관한 커밋
fix 버그를 고친 경우
refactor 프로덕션 코드 리팩토링
docs 문서를 수정한 경우, 파일 삭제, 파일명 수정 등 ex) README.md
chore 빌드 테스트 업데이트, 패키지 매니저를 설정하는 경우, 주석 추가, 자잘한 문서 수정
code review 코드 리뷰 반영
2️⃣ Branch 전략

브랜치 전략

페이지명/#이슈번호-기능명

Git Branch

  • 브랜치 운영
    • main: 완전히 안전하다고 판단되었을 때, 즉 배포가 가능한 최종 merge하는 브랜치
    • develop: 배포하기 전 개발 중일 때 각자의 브랜치에서 merge하는 브랜치 (default 브랜치)
    • feature/페이지명: 각 페이지별 기능 개발 브랜치, 개발이 완료되면 develop 브랜치로 병합
    • 페이지명/#이슈번호-기능명: feature 브랜치. 새로운 기능 개발. 개발이 완료되면 feature/페이지명 브랜치로 병합
3️⃣ 코딩 컨벤션
  1. 상수는 영문 대문자 스네이크 표기법 (예를 들면 키값)
  2. 클래스나 컴포넌트는 대문자 파스칼 케이스 사용 (함수형 컴포넌트)
  3. 컴포넌트는 rfce, 나머지 함수는 화살표 함수 이용
  4. 암시적 반환을 최대한 활용 (early return)
  5. axios 쓸 때 then & catch, async await 쓸 때 try & catch 사용
  6. 구조분해할당 적극 이용
  // 구조분해 사용 X
  const SearchBar = (props) => {
    const { a, b, c } = props;
    ...
    
  // 구조분해 사용 O
  const SearchBar = ({ a, b, c }) => {
    ...
  1. 구조분해할당 적극 이용
  2. 변수 등을 조합해서 문자열을 생성할 때는 반드시 리터럴을 이용
  3. switch-case 사용시 break 강제
  4. 조건문은 반드시 삼항 연산자 사용
  5. for는 지양하고 forEach, map을 사용
  6. 주석은 작성하려고 하는 대상 바로 위에 작성
  7. button 태그에는 type을 명시
  8. 버튼, 헤더와 같이 common component에서는 children 적극 활용
  9. styleds-components 는 tsx 맨 아래에 선언
  10. 컴포넌트 최상단에 감싸는 것은 {컴포넌트명}Wrapper
  11. 컴포넌트 선언과 처음 styled-components 선언 사이 한줄 띄어쓰기
  12. 컴포넌트에서 props로 전달받은 interface를 선언해줄 때, 컴포넌트명 + Props로 선언

📁 폴더 구조

|-- 📁 .github
|-- 📁 .husky
|-- 📁 node_modules
|-- 📁 public
|-- 📁 src
  |-- 📁 apis
  |-- 📁 assets
  |-- 📁 components
  |-- 📁 constants
  |-- 📁 hooks
  |-- 📁 libs
  |-- 📁 pages
  |-- 📁 styles
  |-- 📁 types
  |-- 📁 utils
  |-- 📁 Router.tsx
|-- .env
|-- .eslintignore
|-- .eslintrc.json
|-- .gitignore
|-- .prettierignore
|-- .prettierrc
|-- .stylelintrc.json
|-- index.html
|-- package.json
|-- svg.d.ts
|-- README.md
|-- tsconfig.json
|-- tsconfig.node.json
|-- vite.config.ts
|-- yarn.lock

About

35기 AND SOPT 합동세미나 모바일 웹 1조 - 스카이스캐너 레포지토리 ✈️

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •