Skip to content

Latest commit

Β 

History

History
61 lines (43 loc) Β· 4.35 KB

File metadata and controls

61 lines (43 loc) Β· 4.35 KB

Spoting - κ±΄κ°•ν•œ λ§Œλ‚¨, ν•¨κ»˜ μš΄λ™ ν•˜μ„Έμš”



πŸ”— ν”„λ‘œμ νŠΈ 링크

Spoting λ°”λ‘œκ°€κΈ°


πŸ“– ν”„λ‘œμ νŠΈ μ†Œκ°œ

  • Spoting ν”„λ‘œμ νŠΈλŠ” 2024 λΈ”λ ˆμ΄λ²„μŠ€ ν•΄μ»€ν†€μ—μ„œ 초기 μ°½μ—… νŒ€μ˜ 아이디어λ₯Ό 기반으둜 ν•œ MVP 및 λžœλ”© νŽ˜μ΄μ§€ 개발 ν”„λ‘œμ νŠΈμž…λ‹ˆλ‹€. 82λͺ…μ˜ μ°Έκ°€μž 14개의 νŒ€μ΄ μ°Έκ°€ν•˜μ˜€κ³ , μš°μˆ˜μƒμ„ μˆ˜μƒν•˜μ˜€μŠ΅λ‹ˆλ‹€.

  • Home, Company, Customer Center μ„Ήμ…˜μ— 맞좰 각기 λ‹€λ₯Έ μ½˜ν…μΈ λ₯Ό Framerλ₯Ό ν™œμš©ν•˜μ—¬ λ™μ μœΌλ‘œ κ΅¬μ„±ν•˜μ˜€μœΌλ©°, 직관적이고 μœ λ €ν•œ μ‚¬μš©μž κ²½ν—˜μ„ μ œκ³΅ν•˜λŠ” 데 쀑점을 λ‘μ—ˆμŠ΅λ‹ˆλ‹€.

  • λ°μŠ€ν¬ν†±λΏλ§Œ μ•„λ‹ˆλΌ λͺ¨λ°”일 ν™˜κ²½μ—μ„œλ„ μ™„λ²½ν•˜κ²Œ λ°˜μ‘ν˜•μœΌλ‘œ μž‘λ™ν•˜λ„λ‘ κ΅¬ν˜„λ˜μ–΄, λ‹€μ–‘ν•œ λ””λ°”μ΄μŠ€μ—μ„œ μ›ν™œν•˜κ²Œ 접근이 κ°€λŠ₯ν•©λ‹ˆλ‹€. λ˜ν•œ, ν”„λ‘œμ νŠΈ μ „λ°˜μ— 걸쳐 μ„±λŠ₯ μ΅œμ ν™”μ™€ μ‚¬μš©μž μΈν„°νŽ˜μ΄μŠ€(UI) λ””μžμΈμ—λ„ μ„Έμ‹¬ν•œ 주의λ₯Ό κΈ°μšΈμ˜€μŠ΅λ‹ˆλ‹€.


Tech Stack



πŸ•ΉοΈ 기술적 μ„±μ·¨

  • 이번 Spoting ν”„λ‘œμ νŠΈμ—μ„œλŠ” κΈ°νšλΆ€ν„° λ””μžμΈκΉŒμ§€μ˜ μ „ 과정을 짧은 μ‹œκ°„ 내에 μ™„μ„±ν•˜μ—¬ λžœλ”© νŽ˜μ΄μ§€λ₯Ό κ°œλ°œν•˜λŠ” κ²½ν—˜μ„ μŒ“μ•˜μŠ΅λ‹ˆλ‹€. CI/CD νŒŒμ΄ν”„λΌμΈμ„ κ΅¬μΆ•ν•˜κ³  Vercel을 μ‚¬μš©ν•΄ λΉŒλ“œ 및 도메인 μ—°κ²° μž‘μ—…μ„ μˆ˜ν–‰ν•˜μ—¬, μžλ™ν™”λœ 배포 ν™˜κ²½μ„ κ΅¬ν˜„ν–ˆμŠ΅λ‹ˆλ‹€.

  • ν”„λ‘œμ νŠΈμ˜ 핡심 과제 쀑 ν•˜λ‚˜λŠ” 단일 νŽ˜μ΄μ§€ λ‚΄μ—μ„œ μ—¬λŸ¬ νƒ­ μƒνƒœ(Tap State)에 따라 화면이 λ™μ μœΌλ‘œ λ³€κ²½λ˜λŠ” κ΅¬μ‘°μ˜€μŠ΅λ‹ˆλ‹€. 초기 μ§„μž… μ‹œ, λͺ¨λ“  νƒ­ μƒνƒœμ— λ”°λ₯Έ μ½”λ“œλ₯Ό ν•œ λ²ˆμ— λ Œλ”λ§ν•˜λ©΄μ„œ μ„±λŠ₯ λ¬Έμ œκ°€ λ°œμƒν•˜κ³  μ‚¬μš©μž κ²½ν—˜μ΄ μ €ν•˜λ˜λŠ” μ΄μŠˆκ°€ μžˆμ—ˆμŠ΅λ‹ˆλ‹€. 이λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•΄ Next.js의 Dynamic Importλ₯Ό ν™œμš©ν•˜μ—¬ Lazy Loading을 κ΅¬ν˜„, λ·°ν¬νŠΈμ— λ“€μ–΄μ˜€λŠ” μ½˜ν…μΈ λ§Œ λ Œλ”λ§ν•˜λ„λ‘ κ°œμ„ ν–ˆμŠ΅λ‹ˆλ‹€.

  • Next.js의 Next Image κΈ°λŠ₯을 ν™œμš©ν•΄ 이미지 μ΅œμ ν™”λ₯Ό μˆ˜ν–‰ν•˜μ—¬, λΉ λ₯Έ λ‘œλ”© 속도와 μ΅œμ ν™”λœ μ‚¬μš©μž κ²½ν—˜μ„ μ œκ³΅ν–ˆμŠ΅λ‹ˆλ‹€. μƒˆλ‘œκ³ μΉ¨ μ‹œ νƒ­ μƒνƒœκ°€ μ΄ˆκΈ°ν™”λ˜λŠ” λ¬Έμ œλ„ μžˆμ—ˆμ§€λ§Œ, Zustand Persistλ₯Ό μ‚¬μš©ν•˜μ—¬ νŽ˜μ΄μ§€λ₯Ό μƒˆλ‘œκ³ μΉ¨ν•΄λ„ νƒ­ μƒνƒœκ°€ μœ μ§€λ˜λ„λ‘ ν•˜μ—¬ μ‚¬μš©μž κ²½ν—˜μ„ ν–₯μƒμ‹œμΌ°μŠ΅λ‹ˆλ‹€.

  • λžœλ”©νŽ˜μ΄μ§€ νŠΉμ„± 상 첫 화면에 μœ μ €λ₯Ό μ‚¬λ‘œμž‘λŠ” λ””μžμΈμ΄ ν•„μš”ν•˜λ‹€κ³  μƒκ°λ˜μ–΄, Framer Motionκ³Ό Swiperλ₯Ό μ μš©ν•˜μ—¬ 동적인 μ»΄ν¬λ„ŒνŠΈλ₯Ό μ œμž‘ν–ˆκ³ , Tailwindλ₯Ό μ΄μš©ν•˜μ—¬ κ°„λ‹¨ν•˜κ²Œ λͺ¨λ°”일 λ°˜μ‘ν˜• λ””μžμΈμ„ λŒ€μ‘ν–ˆμŠ΅λ‹ˆλ‹€.



Team Convention

νƒœκ·Έ μ„€λͺ…
feat: μƒˆλ‘œμš΄ κΈ°λŠ₯ μΆ”κ°€ 및 κ°œμ„ 
style: μ½”λ“œ ν¬λ§·νŒ…, μ„Έλ―Έμ½œλ‘  λˆ„λ½, μ½”λ“œ 변경이 μ—†λŠ” 경우
design: CSS λ“± μ‚¬μš©μž UI λ””μžμΈ λ³€κ²½
fix: κΈ°μ‘΄ κΈ°λŠ₯ μˆ˜μ • (주둜 μ•ˆ μ’‹μ•˜λ˜ κ²ƒμ—μ„œ 쒋은 κ²ƒμœΌλ‘œ)
bug: 버그 μˆ˜μ •
refactor: 결과의 λ³€κ²½ 없이 μ½”λ“œμ˜ ꡬ쑰λ₯Ό μž¬μ‘°μ •ν•œ 경우
test: ν…ŒμŠ€νŠΈ μ½”λ“œ μΆ”κ°€
docs: μ½”λ“œκ°€ μ•„λ‹Œ λ¬Έμ„œλ₯Ό μˆ˜μ •ν•œ 경우
remove: νŒŒμΌμ„ μ‚­μ œν•˜λŠ” μž‘μ—…λ§Œ μˆ˜ν–‰
rename: 파일 λ˜λŠ” 폴더λͺ…을 μˆ˜μ •ν•˜κ±°λ‚˜ μœ„μΉ˜(경둜)λ₯Ό λ³€κ²½
asset: 이미지 λ“± assets 파일 μΆ”κ°€
chore: κ·Έ μ™Έ 기타 μˆ˜μ •

Script

μ•± μ‹€ν–‰

$ npm run build
$ npm run dev