Skip to content

Act-It-FE/global-nomad

Repository files navigation

🌍 Global Nomad

image

🌍 Global Nomad는 어떤 서비스인가요?

  • Global Nomad는 사용자가 다양한 체험(액티비티나 음식 등)을 지도와 캘린더를 활용하여 예약할 수 있는 플랫폼입니다.
    직접 체험을 등록하는 판매자 역할을 할 수도 있습니다.

🚀 배포 링크

🌍 Global Nomad 바로가기

🖐️ 팀원 및 R&R

팀원 페이지 API 공통 컴포넌트 기타
윤진우 메인 페이지, 내 정보 페이지 Users 페이지네이션, 아이콘 팀장, Readme
이지현 예약 현황 페이지, 예약 내역 페이지 MyNotifications, MyReservations 사이드메뉴 코드래빗 적용
김다인 로그인 및 회원가입 페이지, 알림 기능 기본 axios 설정, Auth, OAuth 푸터, 모달 tailwind 세팅
문주영 내 체험 관리 페이지, 내 체험 등록/수정 페이지 MyActivities 헤더, 인풋, 드롭다운
신성오 체험 상세 페이지 Activities 버튼

📚 기술 스택

분류 항목
언어 TypeScript
프론트엔드 프레임워크
스타일링
상태 관리 Zustand React Query
API 통신 Axios
패키지 매니저 pnpm
코드 품질 도구
배포 및 CI/CD GitHub Actions
협업 도구

🐈‍⬛ 페이지 경로

페이지 경로
로그인 /login
회원가입 /signup
메인 화면 /
체험 상세 /{activityId}
내 정보 (모바일) /mypage
내 정보 /mypage/info
예약 내역 /mypage/reserves
내 체험 관리 /mypage/activities
내 체험 등록 /mypage/add-activity
내 체험 수정 /mypage/{activityId}
예약 현황 /mypage/reserve-status

📂 폴더 구조

project-root/
├── node_modules/
├── public/                   # 정적 파일들이 위치하는 폴더
│   ├── fonts/                # 폰트 파일 폴더
│   └── images/               # 이미지 파일 폴더
├── src/
│   ├── app/
│   │   ├── activity/         # 페이지 폴더
│   │   ├── globals.css
│   │   ├── layout.tsx
│   │   └── page.tsx
│   ├── assets/
│   │   └── icons/            # 아이콘 파일 폴더
│   ├── components/           # 컴포넌트 폴더
│   ├── contexts/             # Context 폴더
│   ├── constants/            # 상수 관리 폴더
│   ├── lib/                  # api 함수
│   ├── types/                # 타입 지정
│   ├── utils/                # 유틸 함수
│   ├── hooks/                # 커스텀 훅
│   └── stores/               # zustand 상태 관리 폴더
├── .coderabbit.yaml           # 코드래빗 설정
├── .gitignore
├── .prettierrc
├── .prettierignore
├── package.json
├── README.md
├── eslint.config.mjs
├── pnpm-lock.yaml
├── postcss.config.mjs
├── tsconfig.json
└── next.config.ts

📝 컨벤션

🧐 Commit Type & Emoji Guide

commit type description
feat ✨ 기능 추가
feat 🖼️ 아이콘 추가
fix 🐛 버그 수정
docs 📝 문서 수정
style 🎨 UI, 스타일 관련 추가 및 수정
refactor ♻️ 리팩토링
chore 🔧 설정, 빌드 변경
chore 📁 폴더 구조 변경 또는 디렉토리 작업
remove 🔥 불필요한 코드/파일 제거
deploy 🚀 프로젝트 배포

📂 폴더/파일명 네이밍 컨벤션

대상 규칙 예시
폴더명 케밥케이스 (kebab-case) components, user-profile
컴포넌트 파일명 파스칼케이스 (PascalCase) UserProfile.jsx
이미지/아이콘 파일명 케밥케이스 (kebab-case) logo-icon.png, profile-default.png
함수명/변수명 카멜케이스 (camelCase) fetchUserData, userList
환경변수 스크리밍스네이크케이스 (SCREAMING_SNAKE_CASE) VITE_API_URL

🖊️ Git Flow

브랜치명 설명
main 배포 브랜치
develop 통합 개발 브랜치
feat/* 기능 개발 브랜치

🌿 브랜치 네이밍 컨벤션

브랜치 종류 네이밍 규칙 예시
기능 개발 feat/{이슈번호}-{이름} feat/13-dropdown
리팩토링 refactor/{이슈번호}-{이름} refactor/2-modal
버그 수정 fix/{이슈번호}-{이름} fix/24-login-button-bug
문서 수정 docs/{이슈번호}-{이름} docs/58-readme-update
환경 설정 chore/{이슈번호}-{이름} chore/60-tailwind-setting

About

언제 어디서나 체험을 예약하세요 🏂

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 5