🔗 서비스 링크: https://say-cheese.me
| 김규태 | 김건우 |
|---|---|
frontend |
frontend |
-
Language & Framework
- Next.js 15
- React
- TypeScript
-
State & Data Management
- Zustand
- TanStack Query
-
UI Utilities
- Tailwind CSS
- shadcn/ui
- Framer Motion
- Lucide Icons
-
Testing
- Vitest
-
CI/CD
- GitHub Actions
src
├── app # 🌐 Next.js App Router (페이지 엔트리)
│
├── components
│ └── ui # 🎨 공통 UI 컴포넌트 (shadcn 기반)
│
├── feature # 📦 도메인 단위 기능 모듈 (components, hooks, utils, svg, constants 폴더로 구성)
│ ├── album # 📸 앨범 도메인
│ │ ├── 4cut # 🎞️ 치즈네컷 생성 / 렌더링
│ │ ├── detail # 🖼️ 앨범 상세 화면
│ │ └── qrcode # 🔳 앨범 QR 코드 생성
│ ├── album-entry # 🚪 앨범 입장 플로우
│ ├── album-select # 📂 앨범 선택 화면
│ ├── create-album # 📝 앨범 생성
│ ├── login # 🔐 로그인 / 인증 플로우
│ ├── main # 🏠 메인 화면
│ ├── mypage # 🙋♂️ 마이페이지
│ ├── onboarding # 🎉 온보딩
│ ├── photo-detail # 🖼️ 사진 상세
│ ├── photo-entry # 📥 사진 업로드 입장
│ ├── root # 🌳 랜딩페이지
│ ├── term # 📄 약관
│ └── upload # ⬆️ 사진 업로드
│
├── global # 🌍 전역 설정 / 공통 모듈
│ ├── api # 🔗 API 클라이언트 / 엔드포인트
│ ├── components # 🧩 글로벌 공통 컴포넌트
│ ├── constants # 🧱 상수
│ ├── context # ⚛️ 컨텍스트 프로바이더
│ ├── hooks # 🪝 공용 Hooks
│ ├── svg # 🖼️ SVG 에셋
│ ├── types # 🧾 타입 정의
│ └── utils # 🔧 공용 유틸리티 함수
│
└── store # 🗂️ Zustand 스토어ex. feat : 앨범나가기 버튼추가
| Type | 내용 |
|---|---|
feat |
새로운 기능 구현 |
chore |
부수적인 코드 수정 및 기타 변경사항 |
docs |
문서 추가 및 수정, 삭제 |
fix |
버그 수정 |
test |
테스트 코드 추가 및 수정, 삭제 |
refactor |
코드 리팩토링 |
