Skip to content
codeit-FivePublic

About

first basick project

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

Β 

History

173 Commits

Folders and files

Repository files navigation

🎀 νŒ¬λ€μΌ€μ΄(Fandom-K)

μ’‹μ•„ν•˜λŠ” μ•„μ΄λŒμ„ ν›„μ›ν•˜κ³  νˆ¬ν‘œν•  수 μžˆλŠ” 팬덀 ν”Œλž«νΌ

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

νŒ¬λ€μΌ€μ΄(Fandom-K)λŠ” μ•„μ΄λŒ νŒ¬λ€μ„ μœ„ν•œ ν”Œλž«νΌμœΌλ‘œ, μ’‹μ•„ν•˜λŠ” μ•„μ΄λŒμ„ ν›„μ›ν•˜κ³  νˆ¬ν‘œν•  수 μžˆλŠ” 쒅합적인 팬덀 ν”Œλž«νΌμž…λ‹ˆλ‹€. νŒ¬λ“€μ΄ ν¬λ ˆλ”§ 좩전을 톡해 ν›„μ›κΈˆμ„ 보내고, μ΄λ‹¬μ˜ μ•„μ΄λŒ 인기 νˆ¬ν‘œμ— μ°Έμ—¬ν•˜λ©°, 개인 관심 μ•„μ΄λŒμ„ 관리할 수 μžˆμŠ΅λ‹ˆλ‹€.

πŸ—“οΈ ν”„λ‘œμ νŠΈ κΈ°κ°„

2025/09/24 (수) ~ 2025/10/16 (λͺ©)

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

  • πŸ’° 후원 μ‹œμŠ€ν…œ: ν¬λ ˆλ”§μ„ μΆ©μ „ν•˜μ—¬ μ•„μ΄λŒ 후원
  • πŸ—³οΈ νˆ¬ν‘œ μ‹œμŠ€ν…œ: μ΄λ‹¬μ˜ μ•„μ΄λŒ 인기 νˆ¬ν‘œ μ°Έμ—¬
  • πŸ“Š μ‹€μ‹œκ°„ 차트: νˆ¬ν‘œ μˆœμœ„λ³„ μ•„μ΄λŒ 차트 확인
  • πŸ‘€ λ§ˆμ΄νŽ˜μ΄μ§€: 관심 μ•„μ΄λŒ 관리 및 κ°œμΈν™”

🌐 배포 μ£Όμ†Œ

➑️ Fandom-K

πŸ“Ή μ‹œμ—° μ˜μƒ

➑️ Fandom-K μ‹œμ—° μ˜μƒ

πŸ›  기술 μŠ€νƒ

ꡬ뢄 μ‚¬μš© 기술
Frontend Vite React JavaScript
Styling Styled Components SCSS
μƒνƒœ 관리 Zustand localStorage
HTTP ν΄λΌμ΄μ–ΈνŠΈ axios
Routing React Router
배포 Vercel
ν˜‘μ—… Discord Notion

πŸš€ μ‹œμž‘ν•˜κΈ°

ν•„μˆ˜ 쑰건

  • Node.js 18.0 이상
  • npm

μ„€μΉ˜ 및 μ‹€ν–‰

# μ €μž₯μ†Œ 클둠
git clone https://github.com/codeit-Five/FandomK.git

# ν”„λ‘œμ νŠΈ λ””λ ‰ν† λ¦¬λ‘œ 이동
cd FandomK

# μ˜μ‘΄μ„± μ„€μΉ˜
npm install

# 개발 μ„œλ²„ μ‹€ν–‰
npm run dev

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


β”œβ”€β”€ πŸ“‚ .github              # GitHub μ„€μ • 파일
β”œβ”€β”€ πŸ“¦ src
β”‚   β”œβ”€β”€ πŸ“‚ api                   # API 디렉토리
β”‚   β”œβ”€β”€ πŸ“‚ assets                # 정적 λ¦¬μ†ŒμŠ€
β”‚   β”‚   β”œβ”€β”€ πŸ“‚ fonts             # 폰트 디렉토리
β”‚   β”‚   β”œβ”€β”€ πŸ“‚ image             # 이미지 디렉토리
β”‚   β”‚   └── πŸ“‚ styles            # μ „μ—­ μŠ€νƒ€μΌ
β”‚   β”œβ”€β”€ πŸ“‚ components            # 곡톡 μ»΄ν¬λ„ŒνŠΈ 디렉토리
β”‚   β”‚   β”œβ”€β”€ πŸ“‚ Button            # λ²„νŠΌ μ»΄ν¬λ„ŒνŠΈ
β”‚   β”‚   β”œβ”€β”€ πŸ“‚ Header            # 헀더 μ»΄ν¬λ„ŒνŠΈ
β”‚   β”‚   β”œβ”€β”€ πŸ“‚ IdolCard          # μ•„μ΄λŒ ν”„λ‘œν•„ μ»΄ν¬λ„ŒνŠΈ
β”‚   β”‚   β”œβ”€β”€ πŸ“‚ Modal             # λͺ¨λ‹¬ μ»΄ν¬λ„ŒνŠΈ
β”‚   β”‚   └── πŸ“‚ OptionCard        # λΌλ””μ˜€ λ²„νŠΌ μ»΄ν¬λ„ŒνŠΈ
β”‚   β”œβ”€β”€ πŸ“‚ hooks                 # Custom Hook 디렉토리
β”‚   β”œβ”€β”€ πŸ“‚ pages                 # νŽ˜μ΄μ§€ 디렉토리
β”‚   β”‚   β”œβ”€β”€ πŸ“‚ Landing
β”‚   β”‚   β”œβ”€β”€ πŸ“‚ List              # λͺ©λ‘ νŽ˜μ΄μ§€
β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“‚ ChartSection
β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“‚ CreditSection
β”‚   β”‚   β”‚   β”œβ”€β”€ πŸ“‚ Donate
β”‚   β”‚   β”‚   └── πŸ“‚ DonateSection
β”‚   β”‚   β”‚       β”œβ”€β”€ πŸ“‚ carousel  # Carousel 디렉토리
β”‚   β”‚   β”‚       └── πŸ“‚ skeleton  # Skeleton UI 디렉토리
β”‚   β”‚   β”œβ”€β”€ πŸ“‚ MyPage
β”‚   β”‚   └── πŸ“‚ NotFoundPage
β”‚   β”œβ”€β”€ πŸ“‚ stores                # μƒνƒœ 관리 디렉토리
β”‚   β”œβ”€β”€ πŸ“‚ util                  # μœ ν‹Έλ¦¬ν‹° ν•¨μˆ˜ 디렉토리
β”‚   β”œβ”€β”€ βš›οΈ App.jsx
β”‚   └── βš›οΈ main.jsx
β”œβ”€β”€ βš™οΈ .env                 # ν™˜κ²½λ³€μˆ˜
β”œβ”€β”€ πŸ“ .eslintrc.json       # ESLint μ„€μ • 파일
β”œβ”€β”€ πŸ“ .prettierrc.json     # Prettier μ„€μ • 파일
β”œβ”€β”€ πŸ”· favicon.svg          # favorite icon
β”œβ”€β”€ πŸ“„ index.html           # μ§„μž… HTML
β”œβ”€β”€ πŸ“¦ jsconfig.json        # ν”„λ‘œμ νŠΈ 경둜 별칭 μ„€μ • 파일
β”œβ”€β”€ πŸ“¦ package-lock.json    # μ˜μ‘΄μ„± κ³ μ • 파일
β”œβ”€β”€ πŸ“¦ package.json         # ν”„λ‘œμ νŠΈ 메타 정보
β”œβ”€β”€ ⬆️ vercel.json          # Vercel 배포 μ„€μ •
└── ⚑ vite.config.js       # Vite μ„€μ •

πŸ”— API λ¬Έμ„œ

μ£Όμš” API μ—”λ“œν¬μΈνŠΈ

// μ•„μ΄λŒ λͺ©λ‘ 쑰회
GET /idols

// μ•„μ΄λŒ 차트 쑰회 (성별별)
GET /charts/{gender}

// ν›„μ›ν•˜κΈ°
POST /donations
{
  "deadline": "2025-09-26T14:54:53.282Z",
  "targetDonation": 1000,
  "subtitle": "응원 λ©”μ‹œμ§€",
  "title": "후원 제λͺ©",
  "idolId": 1
}

// νˆ¬ν‘œν•˜κΈ°
POST /votes
{
  "idolId": 1
}

🎯 μ£Όμš” νŽ˜μ΄μ§€

πŸ λžœλ”© νŽ˜μ΄μ§€

  • Fandom-K에 λŒ€ν•œ μ „λ°˜μ μΈ 정보와 μ£Όμš” κΈ°λŠ₯을 μ†Œκ°œ

πŸŽν›„μ›μ„ κΈ°λ‹€λ¦¬λŠ” 쑰곡 / πŸ†μ΄λ‹¬μ˜ 차트

  • ν¬λ ˆλ”§ 확인 : μ‚¬μš©μžκ°€ κ°€μ§€κ³  μžˆλŠ” ν¬λ ˆλ”§μ„ 확인
  • 후원을 κΈ°λ‹€λ¦¬λŠ” 쑰곡 : μ•„μ΄λŒ 후원 λ‚΄μš© 및 λͺ©ν‘œ 달성λ₯ , 기간을 μŠ¬λΌμ΄λ“œλ₯Ό 톡해 ν™•μΈν•˜κ³  μ°Έμ—¬
  • μ΄λ‹¬μ˜ 차트 : μΏ ν‘œλ₯Ό 톡해 μ•„μ΄λŒ μˆœμœ„λ₯Ό λ°˜μ˜ν•˜κ³ , μ‹€μ‹œκ°„ 차트 변동을 확인

πŸͺ™μΆ©μ „ν•˜κΈ° λͺ¨λ‹¬

  • μ‚¬μš©μžκ°€ 좩전을 μ›ν•˜λŠ” ν¬λ ˆλ”§ κΈˆμ•‘μ„ μ„ νƒν•˜κ³  좩전을 μ§„ν–‰

πŸ’Έν›„μ›ν•˜κΈ° λͺ¨λ‹¬

  • 후원할 쑰곡을 ν™•μΈν•˜κ³  μ‚¬μš©μžκ°€ μž…λ ₯ν•œ ν¬λ ˆλ”§μ„ 후원

πŸ—³οΈνˆ¬ν‘œν•˜κΈ° λͺ¨λ‹¬

  • ν¬λ ˆλ”§μ„ μ΄μš©ν•΄ μ„ νƒν•œ μ•„μ΄λŒμ—κ²Œ νˆ¬ν‘œν•˜κ³ , κ²°κ³Όλ₯Ό 반영

βš™οΈλ§ˆμ΄ νŽ˜μ΄μ§€

  • 관심이 μžˆλŠ” μ•„μ΄λŒμ„ 리슀트둜 κ΄€λ¦¬ν•˜κ³  확인

🚫NotFound νŽ˜μ΄μ§€

  • 잘λͺ»λœ 경둜둜 μ ‘κ·Όν–ˆμ„ λ•Œ, μ—λŸ¬λ₯Ό μ•ˆλ‚΄ν•˜κ³  이전 λ˜λŠ” 메인 νŽ˜μ΄μ§€λ‘œ 이동

πŸ‘₯ νŒ€μ›

Sseung22 Jihyun0522 sylee86
κΉ€μž¬μŠΉ κ°•μ§€ν˜„ μ΄μ„ μ˜

πŸ·οΈμ—­ν• 

πŸ–₯️ κΉ€μž¬μŠΉ

  • 초기 μ„ΈνŒ…

    • GitHub Issue, PR ν…œν”Œλ¦Ώ μ„ΈνŒ…
    • λΌμš°νŒ… μ„€μ •
  • 곡톡 μ»΄ν¬λ„ŒνŠΈ

    • 곡톡 Header μ»΄ν¬λ„ŒνŠΈ κ΅¬ν˜„
  • λžœλ”© νŽ˜μ΄μ§€

    • λžœλ”© νŽ˜μ΄μ§€ κ΅¬ν˜„
  • 마이 νŽ˜μ΄μ§€

    • localStorage 기반 관심 μ•„μ΄λŒ 관리 κΈ°λŠ₯
    • 리슀트둜 관심 μ•„μ΄λŒ 확인
  • 배포

  • λ°œν‘œ 및 λ°œν‘œ 자료 μ œμž‘

πŸ–₯️ κ°•μ§€ν˜„

  • 초기 μ„ΈνŒ…

    • ν”„λ‘œμ νŠΈ μ›Œν¬ν”Œλ‘œμš° 및 개발 μ»¨λ²€μ…˜ 정리
    • 디렉토리 초기 μ„ΈνŒ…
  • 곡톡 μ»΄ν¬λ„ŒνŠΈ

    • λ²„νŠΌ 곡톡 μ»΄ν¬λ„ŒνŠΈ κ΅¬ν˜„
    • μ•„μ΄λŒ ν”„λ‘œν•„ 곡톡 μ»΄ν¬λ„ŒνŠΈ κ΅¬ν˜„
    • λͺ¨λ‹¬ 곡톡 μ»΄ν¬λ„ŒνŠΈ κ΅¬ν˜„
    • λΌλ””μ˜€ λ²„νŠΌ 곡톡 μ»΄ν¬λ„ŒνŠΈ κ΅¬ν˜„
  • λͺ©λ‘ νŽ˜μ΄μ§€ ν¬λ ˆλ”§ ν‘œμ‹œ/후원을 κΈ°λ‹€λ¦¬λŠ” 쑰곡

    • μŠ€μΌˆλ ˆν†€ λ‘œλ”© UI κ΅¬ν˜„ (react-loading-skeleton ν™œμš©)
    • μΊλŸ¬μ…€ κΈ°λŠ₯ κ΅¬ν˜„ (embla-carousel-react ν™œμš©)
  • NotFound νŽ˜μ΄μ§€

    • NotFound νŽ˜μ΄μ§€ UI κ΅¬ν˜„
  • λ¬Έμ„œν™”

    • README.md 정리

πŸ–₯️ μ΄μ„ μ˜

  • 초기 μ„ΈνŒ…

    • 디렉토리 초기 μ„ΈνŒ…
    • 곡톡 style μ •μ˜
  • API 톡신

    • AXIOSλ₯Ό ν™œμš©ν•œ API 톡신 κ΅¬ν˜„
    • 응닡 인터셉터λ₯Ό ν†΅ν•œ μ—λŸ¬ 처리 톡일화
    • toast μ•Œλ¦Ό κ΅¬ν˜„
  • ν¬λ ˆλ”§ μƒνƒœ 관리

    • Zustandλ₯Ό ν™œμš©ν•˜μ—¬ ν¬λ ˆλ”§ μ „μ—­ μƒνƒœ 관리 κ΅¬ν˜„
  • λͺ©λ‘ νŽ˜μ΄μ§€ μ΄λ‹¬μ˜ 차트

    • μ—¬μž/λ‚¨μž μ•„μ΄λŒ 차트 νƒ­ κ΅¬ν˜„
    • 총 νˆ¬ν‘œμˆ˜ κΈ°μ€€ μˆœμœ„ μ •λ ¬ κΈ°λŠ₯
    • νˆ¬ν‘œν•˜κΈ° λͺ¨λ‹¬ κ΅¬ν˜„

πŸŽ“ ν•™μŠ΅ 포인트

  • React μ»΄ν¬λ„ŒνŠΈ 섀계: μž¬μ‚¬μš© κ°€λŠ₯ν•œ μ»΄ν¬λ„ŒνŠΈ 개발
  • μƒνƒœ 관리: Zustandλ₯Ό ν™œμš©ν•œ μ „μ—­ μƒνƒœ 관리
  • API 톡신: RESTful APIμ™€μ˜ 효율적인 데이터 톡신
  • νŒ€ ν˜‘μ—…: Git 브랜치 μ „λž΅ 및 μ½”λ“œ 리뷰 ν”„λ‘œμ„ΈμŠ€

πŸ“œ λΌμ΄μ„ΌμŠ€

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ™ κ°μ‚¬μ˜ κΈ€

이 ν”„λ‘œμ νŠΈλŠ” μ½”λ“œμž‡ μŠ€ν”„λ¦°νŠΈ Front-End 19κΈ° ꡐ윑 κ³Όμ •μ˜ νŒ€ ν”„λ‘œμ νŠΈλ‘œ μ œμž‘λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

About

first basick project

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages