Skip to content

kakao-tech-campus-3rd-step3/Team6_FE

Repository files navigation

μ–ΌμŒλ•‘ (Icebreaking)

μ‹€μ‹œκ°„ μ•„μ΄μŠ€λΈŒλ ˆμ΄ν‚Ή κ²Œμž„ ν”Œλž«νΌ

μΉ΄μΉ΄μ˜€ν…Œν¬μΊ νΌμŠ€ 3κΈ° κ²½λΆλŒ€ν•™κ΅ 2νŒ€ ν”„λ‘œμ νŠΈ

μ–ΌμŒλ•‘ 둜고

ν”„λ‘œμ νŠΈ μ†Œκ°œ

μ–ΌμŒλ•‘μ€ 처음 λ§Œλ‚œ μ‚¬λžŒλ“€μ΄ 어색함을 κΉ¨κ³  μΉœν•΄μ§ˆ 수 μžˆλ„λ‘ λ•λŠ” μ‹€μ‹œκ°„ μ•„μ΄μŠ€λΈŒλ ˆμ΄ν‚Ή κ²Œμž„ ν”Œλž«νΌμž…λ‹ˆλ‹€. 방을 μƒμ„±ν•˜μ—¬ μ°Έκ°€μžλ“€μ„ μ΄ˆλŒ€ν•˜κ³ , λ‹€μ–‘ν•œ κ²Œμž„μ„ 톡해 μ„œλ‘œλ₯Ό μ•Œμ•„κ°ˆ 수 μžˆμŠ΅λ‹ˆλ‹€.

μ£Όμš” κΈ°λŠ₯

  • 랜덀 λ£°λ ›: μ°Έκ°€μž 쀑 랜덀으둜 μ„ μ •ν•˜μ—¬ μ§ˆλ¬Έμ— λ‹΅ν•˜κΈ°
  • λ§ˆλ‹ˆλ˜: λ§ˆλ‹ˆλ˜λ₯Ό λ°°μ •λ°›μ•„ μ„œλ‘œ μ•Œμ•„κ°€κΈ°
  • 주제 μΆ”μ²œ: 관심사별 λŒ€ν™” 주제 μΆ”μ²œ
  • μ‹€μ‹œκ°„ λŒ€κΈ°λ°©: WebSocket 기반 μ‹€μ‹œκ°„ μ°Έκ°€μž 관리

기술 μŠ€νƒ

Library

  • Framework: React 19 + TypeScript
  • Build Tool: Vite
  • Styling: TailwindCSS v4
  • State Management: Zustand v5, Tanstack Query v5
  • Real-time Communication: STOMP.js (WebSocket)
  • Routing: React Router v7
  • Test : Vitest

Code Quality

  • Linting: ESLint
  • Type Checking: TypeScript

πŸ“‚ ν”„λ‘œμ νŠΈ ꡬ쑰

src/
β”œβ”€β”€ api/              # REST API 톡신 κ΄€λ ¨
β”œβ”€β”€ assets/           # 정적 λ¦¬μ†ŒμŠ€ (이미지, 폰트 λ“±)
β”œβ”€β”€ components/       # μž¬μ‚¬μš© κ°€λŠ₯ν•œ UI μ»΄ν¬λ„ŒνŠΈ
β”‚   β”œβ”€β”€ common/      # 곡톡 μ»΄ν¬λ„ŒνŠΈ
β”‚   β”œβ”€β”€ createprofile/ # ν”„λ‘œν•„ 생성 κ΄€λ ¨
β”‚   β”œβ”€β”€ createroom/  # λ°© 생성 κ΄€λ ¨
β”‚   β”œβ”€β”€ ending/      # μ’…λ£Œ ν™”λ©΄ κ΄€λ ¨
β”‚   β”œβ”€β”€ menuselect/  # κ²Œμž„ 선택 κ΄€λ ¨
β”‚   β”œβ”€β”€ profilecheck/ # ν”„λ‘œν•„ 확인 κ΄€λ ¨
β”‚   β”œβ”€β”€ profileview/ # ν”„λ‘œν•„ ν‘œμ‹œ κ΄€λ ¨
β”‚   β”œβ”€β”€ randomroulette/ # 랜덀 λ£°λ › κ²Œμž„ κ΄€λ ¨
β”‚   β”œβ”€β”€ topicrecommend/ # 주제 μΆ”μ²œ κ΄€λ ¨
β”‚   └── waitingroom/ # λŒ€κΈ°λ°© κ΄€λ ¨
β”œβ”€β”€ constants/        # μƒμˆ˜ μ •μ˜
β”œβ”€β”€ context/          # React Context
β”œβ”€β”€ errors/           # μ—λŸ¬ 처리
β”œβ”€β”€ hooks/            # μ»€μŠ€ν…€ ν›…
β”‚   β”œβ”€β”€ createroom/  # λ°© 생성 κ΄€λ ¨ ν›…
β”‚   β”œβ”€β”€ profilecheck/ # ν”„λ‘œν•„ 확인 κ΄€λ ¨ ν›…
β”‚   β”œβ”€β”€ profileview/ # ν”„λ‘œν•„ λ·° κ΄€λ ¨ ν›…
β”‚   β”œβ”€β”€ randomroulette/ # λ£°λ › κ²Œμž„ κ΄€λ ¨ ν›…
β”‚   β”œβ”€β”€ stomp/       # WebSocket κ΄€λ ¨ ν›…
β”‚   β”œβ”€β”€ users/       # μ‚¬μš©μž κ΄€λ ¨ ν›…
β”‚   └── waitingroom/ # λŒ€κΈ°λ°© κ΄€λ ¨ ν›…
β”œβ”€β”€ layouts/          # λ ˆμ΄μ•„μ›ƒ μ»΄ν¬λ„ŒνŠΈ
β”œβ”€β”€ lib/              # μ™ΈλΆ€ 라이브러리 μ„€μ •
β”œβ”€β”€ model/            # 데이터 λͺ¨λΈ 및 μŠ€ν‚€λ§ˆ
β”œβ”€β”€ pages/            # νŽ˜μ΄μ§€ μ»΄ν¬λ„ŒνŠΈ
β”œβ”€β”€ services/         # μ™ΈλΆ€ μ„œλΉ„μŠ€ 연동 (STOMP λ“±)
β”œβ”€β”€ store/            # μ „μ—­ μƒνƒœ 관리 (Zustand)
β”œβ”€β”€ styles/           # μ „μ—­ μŠ€νƒ€μΌ
β”œβ”€β”€ types/            # μ „μ—­ νƒ€μž… μ •μ˜
└── utils/            # μœ ν‹Έλ¦¬ν‹° ν•¨μˆ˜

μ‹œμž‘ν•˜κΈ°

μ„€μΉ˜

pnpm install

개발 μ„œλ²„ μ‹€ν–‰

pnpm dev

λΉŒλ“œ

pnpm build

프리뷰

pnpm build
pnpm preview

μ£Όμš” ν™”λ©΄

1. λ°© 생성 및 λŒ€κΈ°

  • λ°© 이름, 인원 μ„€μ •
  • μ°Έκ°€μž μ‹€μ‹œκ°„ 확인

λ°© 생성 및 인원 확인

2. μ°Έμ—¬μž 확인

λ£°λ › μ‹œμž‘ μ „ 이미지
이미지 μ„€λͺ… 2
이미지 μ„€λͺ… 2
이미지 μ„€λͺ… 2

3. κ²Œμž„ 선택

  • 랜덀 λ£°λ ›
  • λ§ˆλ‹ˆλ˜
  • 주제 μΆ”μ²œ
  • μ’…λ£Œ

κ²Œμž„ 리슀트

4. κ²Œμž„ μ§„ν–‰

  • μ‹€μ‹œκ°„ κ²Œμž„ κ²°κ³Ό 곡유
λ£°λ › μ‹œμž‘ μ „ 이미지
λ£°λ › μ‹œμž‘ μ „
이미지 μ„€λͺ… 2
λ£°λ › κ²°κ³Ό
이미지 μ„€λͺ… 2
λŒ€ν™” 주제 μΆ”μ²œ
이미지 μ„€λͺ… 2
λ§ˆλ‹ˆλ˜

νŒ€μ›

이름 μ—­ν•  GitHub
κΉ€κ±΄ν˜Έ FE ν…Œν¬λ¦¬λ” @kimgho
μ°¨μ„œν˜„ FE @cktjgus
μ΅œμ›μ•„ FE @wnhaoo

λ°±μ—”λ“œ Github

κ²½λΆλŒ€ 2νŒ€ λ°±μ—”λ“œ λ ˆν¬μ§€ν† λ¦¬

Packages

 
 
 

Contributors

Languages