Skip to content

ArpaAP/daegumoa

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

162 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

λ°˜μ§λ°˜μ§μž‘μ€λ³„ - λŒ€κ΅¬λͺ¨μ•„

μ„œλΉ„μŠ€ μš”μ•½

πŸ‘‘ 2024 λŒ€κ΅¬λ₯Ό λΉ›λ‚΄λŠ” 해컀톀 λŒ€μƒ μˆ˜μƒμž‘ πŸ‘‘

β€˜λŒ€κ΅¬λͺ¨μ•„β€™λŠ” μ‹œλ―Όλ“€μ—κ²Œ μ΄λ²€νŠΈμ— κ΄€λ ¨λœ 정보와 λ―Έμ…˜μ„ μ œκ³΅ν•΄ μ‹œλ―Όλ“€μ˜ 이벀트 μ°Έμ—¬λ₯Ό μ΄‰κ΅¬ν•˜λŠ” μ•±μ›Ήμž…λ‹ˆλ‹€. β€˜λŒ€κ΅¬λͺ¨μ•„β€™λŠ” μ‹œλ―Όλ“€μ΄ λŒ€κ΅¬μ—μ„œ ν™œλ™ν•˜λŠ” 것듀을 κΈ°λ‘ν•˜λ©° 이에 λŒ€ν•œ 보상을 μ œκ³΅ν•©λ‹ˆλ‹€.

주제 ꡬ뢄

  • Cνƒ€μž… - λŒ€κ΅¬ μ§€μ—­ μƒκΆŒμ„ μ‚΄λ¦¬λŠ”λ° 도움을 μ£ΌλŠ” μ„œλΉ„μŠ€

νŒ€μ› μ†Œκ°œ

κΆŒμ„ μš° λ°•μž¬λ―Ό μž₯기원 ν™©λΆ€μ—°
기획 개발 개발 / λ””μžμΈ 개발

μ‹œμ—° μ˜μƒ

μ‹œμ—° μ˜μƒ

μ„œλΉ„μŠ€ μ†Œκ°œ

μ„œλΉ„μŠ€ κ°œμš”

β€˜λŒ€κ΅¬λͺ¨μ•„β€™λŠ” 크게 4κ°€μ§€ νŽ˜μ΄μ§€λ₯Ό κ°€μ§‘λ‹ˆλ‹€. 1λ²ˆμ§ΈλŠ” μ΄λ²€νŠΈμž…λ‹ˆλ‹€. μ΄λ²€νŠΈλŠ” λŒ€κ΅¬μ—μ„œ μ§„ν–‰λ˜λŠ” μΆ•μ œ, μ•Όμ‹œμž₯, κ°•μ—° λ“±μ˜ 정보λ₯Ό 얻을 수 μžˆμŠ΅λ‹ˆλ‹€. μ œκ³΅λ˜λŠ” μ •λ³΄λŠ” 이벀트의 이름, ν¬μŠ€ν„°, 주졜, μœ„μΉ˜, κΈ°κ°„, μ„ΈλΆ€ μ„€λͺ…μž…λ‹ˆλ‹€. 각각의 이벀트의 정보λ₯Ό 쉽고 νŽΈν•˜κ²Œ 확인할 수 μžˆμŠ΅λ‹ˆλ‹€. λ˜ν•œ μœ„μΉ˜ 인증 κΈ°λŠ₯을 톡해 μ΄λ²€νŠΈμ— μ°Έμ—¬ν•œ 것을 기둝할 수 μžˆμŠ΅λ‹ˆλ‹€.

2λ²ˆμ§ΈλŠ” λ―Έμ…˜μž…λ‹ˆλ‹€. λ―Έμ…˜μ€ β€˜λŒ€κ΅¬λͺ¨μ•„β€™λ§Œμ˜ νŠΉλ³„ν•œ κΈ°λŠ₯μž…λ‹ˆλ‹€. β€˜μ•Όμ‹œμž₯ μ •λ³΅ν•˜κΈ°β€™, β€˜μΆ•μ œ λ§ˆμŠ€ν„°β€™ λ“± λŒ€κ΅¬μ—μ„œ μΌμ–΄λ‚˜λŠ” μ΄λ²€νŠΈμ™€ κ΄€λ ¨λœ μ—¬λŸ¬κ°€μ§€ λ―Έμ…˜μ„ μ œκ³΅ν•΄μ£Όλ©° 이 λ―Έμ…˜μ„ ν•΄κ²°ν•  μ‹œ 뱃지와 보상을 μ œκ³΅ν•©λ‹ˆλ‹€. λ±ƒμ§€λŠ” λ§ˆμ΄νŽ˜μ΄μ§€λ₯Ό κΎΈλ―ΈλŠ” 것에 μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 보상은 λ―Έμ…˜μ— 따라 λ‹€λ₯΄κ²Œ 제곡될 μ˜ˆμ •μž…λ‹ˆλ‹€.

3λ²ˆμ§ΈλŠ” λž­ν‚Ήμž…λ‹ˆλ‹€. β€˜κ°€μž₯ 많이 μ‹œμž₯에 λ°©λ¬Έν•œ μ‚¬λžŒβ€™, β€˜κ°€μž₯ λ§Žμ€ μΆ•μ œμ— μ°Έμ—¬ν•œ μ‚¬λžŒβ€™ λ“± μ—¬λŸ¬κ°€μ§€ λž­ν‚Ήμ„ λ³Ό 수 있으며 μ΄λŠ” μžμ‹ μ΄ μ–Όλ§ˆλ‚˜ λ§Žμ€ λŒ€κ΅¬μ˜ μ΄λ²€νŠΈμ— μ°Έμ—¬ν•˜λŠ”μ§€ μ•Œ 수 μžˆλŠ” μ§€ν‘œκ°€ λ©λ‹ˆλ‹€.

4λ²ˆμ§ΈλŠ” λ§ˆμ΄νŽ˜μ΄μ§€μž…λ‹ˆλ‹€. λ§ˆμ΄νŽ˜μ΄μ§€λŠ” μžμ‹ μ˜ 정보와 μˆ˜μ§‘ν•œ 뱃지듀, 그리고 톡계λ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€. λ§ˆμ΄νŽ˜μ΄μ§€λŠ” μžμ‹ μ΄ νšλ“ν•œ 뱃지와 μžμ‹ μ˜ λž­ν‚ΉμœΌλ‘œ κΎΈλ°€ 수 있으며, ν†΅κ³„μ—μ„œλŠ” μ°Έμ—¬ν•œ 행사 수, λ‘˜λŸ¬λ³Έ μ‹œμž₯ 수 λ“± μ—¬λŸ¬κ°€μ§€ 정보λ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€.

νƒ€μ„œλΉ„μŠ€μ™€μ˜ 차별점

  • μΆ•μ œμ™€ μ‹œμž₯ 정보 μ—΄λžŒ κ°€λŠ₯
  • μ™ΈλΆ€μ—μ„œ μ‚¬μš©ν•  일이 λ§Žμ„ 것을 μ˜ˆμƒλ˜λ―€λ‘œ Mobile μœ μ € μΉœν™”μ 
  • PC 웹도 μ •μƒμ μœΌλ‘œ λ™μž‘ν•˜λ„λ‘ css - @mediaλ₯Ό μ΄μš©ν•œ λ°˜μ‘ν˜• μŠ€νƒ€μΌ 적용
  • λ―Έμ…˜μ΄λΌλŠ” μ°¨λ³„ν™”λœ κΈ°λŠ₯을 톡해 ν₯λ―Έλ₯Ό λΆˆλŸ¬μΌμœΌν‚΄
  • λ±ƒμ§€λΌλŠ” κΈ°λŠ₯을 톡해 μ‚¬λžŒλ“€μ˜ μ°Έμ—¬ μœ λ„

κ΅¬ν˜„ λ‚΄μš© 및 κ²°κ³Όλ¬Ό

μ„œλΉ„μŠ€μ˜ μ‹€μ œ κ΅¬ν˜„ λ‚΄μš©κ³Ό 결과물을 κΈ°μž¬ν•œλ‹€.

1. 둜그인 νŽ˜μ΄μ§€ κ²Έ λžœλ”©νŽ˜μ΄μ§€(/login)

  • ꡬ글 κ³„μ •μœΌλ‘œ 둜그인
  • λ§Œμ•½ 둜그인 μ„Έμ…˜μ΄ μ—†λ‹€λ©΄, / 경둜 μ ‘μ†μ‹œ /login 으둜 λ¦¬λ””λ ‰μ…˜λ¨
  • λ§Œμ•½ 둜그인 μ„Έμ…˜μ΄ μžˆμ§€λ§Œ νšŒμ›κ°€μž… λ˜μ–΄μžˆμ§€ μ•Šλ‹€λ©΄, /register 둜 λ¦¬λ””λ ‰μ…˜λ¨

2. νšŒμ›κ°€μž… νŽ˜μ΄μ§€(/register)

  • 둜그인 μ„Έμ…˜ 처리 ν›„ νšŒμ›κ°€μž… ν•˜λŠ” νŽ˜μ΄μ§€

3. 이벀트 λͺ©λ‘(/)

  • 이벀트(μ‹œμž₯, μΆ•μ œ, 곡연/μ „μ‹œ) λ“±μ˜ λͺ©λ‘μ„ ν‘œμ‹œ
  • 이벀트 검색 κΈ°λŠ₯

4. 이벀트 정보(/event/{id})

  • 카카였 λ§΅ APIλ₯Ό 톡해 지도 연동, ν•΄λ‹Ή 이벀트의 μœ„μΉ˜ 확인이 편리
  • HTML5 Geolocation APIλ₯Ό ν™œμš©ν•΄ μ‚¬μš©μžμ˜ ν˜„μž¬ μœ„μΉ˜(μœ„λ„, 경도)λ₯Ό κ°€μ Έμ˜€κ³ , 행사μž₯μœΌλ‘œλΆ€ν„° 일정 거리 내에 μžˆλŠ”μ§€ νŒλ‹¨ν•˜μ—¬ 이벀트(μ‹œμž₯, μΆ•μ œ) μ°Έμ—¬ μ—¬λΆ€ 인증
  • 이벀트 μ°Έμ—¬ 인증을 μ™„λ£Œν•˜λ©΄ 뱃지λ₯Ό μ§€κΈ‰

5. λ―Έμ…˜ λͺ©λ‘(/mission)

  • λ―Έμ…˜λ³„ 남은 μ‹œκ°„κ³Ό μž₯μ†Œ 등을 ν•œλˆˆμ— 확인 κ°€λŠ₯

6. λ―Έμ…˜ 세뢀정보(/mission/{id})

  • λ―Έμ…˜μ— λŒ€ν•œ 세뢀정보(μœ ν˜•, 진행쀑 μ—¬λΆ€, λ‚œμ΄λ„, μ°Έμ—¬μž 수 λ“±) 확인 κ°€λŠ₯ν•œ νŽ˜μ΄μ§€
  • 사진 μ—…λ‘œλ“œλ₯Ό ν†΅ν•œ λ―Έμ…˜ μˆ˜ν–‰, 뱃지 μ§€κΈ‰

7. λž­ν‚Ή νŽ˜μ΄μ§€(/ranking)

  • μœ ν˜•λ³„(μ‹œμž₯, μΆ•μ œ, 곡연/μ „μ‹œ) μ‚¬μš©μž 뱃지 λž­ν‚Ήμ„ ν‘œμ‹œ

8. λž­ν‚Ή 상세 νŽ˜μ΄μ§€ (/ranking/{type})

9. ν”„λ‘œν•„ (/profile/{id})

  • ν”„λ‘œν•„ μˆ˜μ • κ°€λŠ₯
  • λ‚΄ ν”„λ‘œν•„ 곡유 κ°€λŠ₯, λ‚΄ ν”„λ‘œν•„ QR μ½”λ“œ λ°œκΈ‰
  • νšλ“ν•œ 뱃지 확인 및 λŒ€ν‘œ 뱃지 μ„€μ • κ°€λŠ₯
  • 개인 톡계 μ—΄λžŒ

10. κ΄€λ¦¬μžμš© λ―Έμ…˜ 인증 νŽ˜μ΄μ§€ (/admin)

  • μœ μ €λ“€μ΄ 올린 사진듀을 보고 인증여뢀λ₯Ό νŒλ‹¨
  • ν…ŒμŠ€νŠΈλ₯Ό μœ„ν•΄ κ΄€λ¦¬μž κΆŒν•œ 인증은 제거 ν•΄λ‘” μƒνƒœμž…λ‹ˆλ‹€, userκΆŒν•œμœΌλ‘œλ„ ν…ŒμŠ€νŠΈ ν•΄λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€

κ΅¬ν˜„ 방식

Summary

FE/BE: Next.js (with React + TypeScript)
UI Library: Chakra UI
Image Storage: Firebase
Database: MySQL
ORM: Prisma
Deploy: Vercel
Design: Figma

기술 κ΅¬ν˜„ 상세

  • React 기반의 ν’€μŠ€νƒ μ›Ή ν”„λ ˆμž„μ›Œν¬μΈ Next.js λ₯Ό μ‚¬μš©ν•˜μ—¬ μ„œλ²„μ‚¬μ΄λ“œ λ Œλ”λ§(SSR) 적용
  • SSR을 기반으둜 Server-side data fetching, image optimization, API Router λ“±μ˜ κΈ°μˆ μ„ 적용
  • Auth.js ν™œμš©ν•˜μ—¬ μ„Έμ…˜ 기반의 둜그인 κ΅¬ν˜„
  • Chakra UIλ₯Ό ν™œμš©ν•œ λ””μžμΈ μ‹œμŠ€ν…œ ꡬ좕, 직접 λ””μžμΈν•œ μ»€μŠ€ν…€ SVG μ•„μ΄μ½˜μ…‹ 적용

ERD


Tech Diagram


Figma Design

ν–₯ν›„ κ°œμ„  ν˜Ήμ€ λ°œμ „ λ°©μ•ˆ

  • 메인 νŽ˜μ΄μ§€ 상단 λ°°λ„ˆκ΄‘κ³  ν™œμ„±ν™”
  • κ΄€λ¦¬μž νŽ˜μ΄μ§€ 체계화
  • μΆ•μ œλ‚˜ μ‹œμž₯μΈ‘κ³Ό ν˜‘μ˜ν•˜μ—¬ λ‹€μ–‘ν•œ λ―Έμ…˜μ„ λŒ€μ‹  μ§„ν–‰
  • 지속적인 뱃지 및 λ―Έμ…˜ μ—…λ°μ΄νŠΈ

About

πŸŽ‰ 2024 λŒ€κ΅¬λ₯Ό λΉ›λ‚΄λŠ” 해컀톀 λŒ€μƒμž‘ - λŒ€κ΅¬λͺ¨μ•„ ν’€μŠ€νƒ μ›Ή ν”„λ‘œμ νŠΈ

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors