Skip to content

luckyjek/entertainment-design

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

61 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🎀 K-pop μ—”ν„°ν…ŒμΈλ¨ΌνŠΈ ν”„λ‘œν† νƒ€μž… ν™ˆνŽ˜μ΄μ§€

K-λ¬Έν™”λ₯Ό μ„ λ„ν•˜λŠ” K-pop. 이에 μ–΄μšΈλ¦¬λŠ” Art λŠλ‚Œμ˜ μ‚¬μ΄νŠΈ μ œμž‘
μ•„ν‹°μŠ€νŠΈμ™€ ν•¨κ»˜ 찍은 사진을 μ €μž₯ν•  수 μžˆλŠ” μ„œλΉ„μŠ€
https://623465b8ffb0001ab27c9a07--entertainment-desing.netlify.app/info

URLν΄λ¦­ν•˜κΈ° μ „, μ£Όμ˜μ‚¬ν•­ 펼쳐보기
  • μœ„μ˜ URL은 netlifyλ₯Ό μ‚¬μš©ν•œ 'μž„μ‹œURL'
  • λ§Œμ•½ μ•„λž˜μ™€ 같은 Page Not Found Modal이 λ‚˜μ˜€λ©΄? 'Back to our site'λ₯Ό λˆ„λ₯΄λ©΄ 정상 λ™μž‘ image

1. μ œμž‘ κΈ°κ°„ & μ°Έμ—¬ 인원

  • 2022λ…„ 03μ›” 07일 ~ 03μ›” 15일(9일)
  • 개인 ν”„λ‘œμ νŠΈ

2. 기술 μŠ€νƒ

Front-end

  • HTML
  • PostCSS
  • JavaScript/JSX
  • React.js

ETC

  • Firebase
  • YouTube API

3. μ‚¬μ΄νŠΈλ§΅

4. 핡심 κΈ°λŠ₯

  • main.jsx μ—μ„œ YouTube API μ‚¬μš©, μžλ™μœΌλ‘œ μŒμ•… μž¬μƒ
  • μž¬μ‚¬μš© κ°€λŠ₯ν•œ Modal μ»΄ν¬λ„ŒνŠΈ
  • Firebase μ‚¬μš©ν•œ Google, GitHub 둜그인
  • Firebase μ‚¬μš©ν•œ μ‹€μ‹œκ°„ λ°μ΄ν„°λ² μ΄μŠ€
핡심 κΈ°λŠ₯ μ„€λͺ… 펼쳐보기

4.1 main.jsx μ—μ„œ YouTube API μ‚¬μš©, μžλ™μœΌλ‘œ μŒμ•… μž¬μƒ

  • 'autoplay=1', allow='autoplay' μžλ™μœΌλ‘œ μŒμ•… μž¬μƒλ˜λ„λ‘ 참고자료보며 처리 πŸ”Ž μ½”λ“œ 확인
    • default μŒμ•…μ€ BTS둜 μ„€μ •ν•΄λ†“μ•˜μŠ΅λ‹ˆλ‹€.

4.2 μž¬μ‚¬μš© κ°€λŠ₯ν•œ Modal μ»΄ν¬λ„ŒνŠΈ

  • μž¬μ‚¬μš© κ°€λŠ₯ν•œ Modal μ»΄ν¬λ„ŒνŠΈλ₯Ό λ§Œλ“  ν›„, ν•„μš”ν•œ 4개 μ»΄ν¬λ„ŒνŠΈμ— μž¬μ‚¬μš© πŸ”Ž μ½”λ“œ 확인
    • Modal이 ν•„μš”ν•œ 각 μ»΄ν¬λ„ŒνŠΈμ— name을 λ³€μˆ˜λ‘œ λ§Œλ“€κ³ , μž¬μ‚¬μš©ν•  수 μžˆλŠ” Modal둜 값을 μ „λ‹¬ν•˜λ„λ‘ κ΅¬ν˜„ν•˜μ˜€μŠ΅λ‹ˆλ‹€.

4.3 Firebase μ‚¬μš©ν•œ Google, GitHub 둜그인

  • AuthService class 생성, ꡬ쑰화 πŸ”Ž auth_service.js μ½”λ“œ 확인 & login.jsx μ½”λ“œ 확인
    • Firebase와 λ„€νŠΈμ›Œν¬ 톡신할 λ•Œ, classλ₯Ό λ”°λ‘œ λ§Œλ“€μ–΄ 이후 ν™•μž₯μ„±κ³Ό μœ μ§€λ³΄μˆ˜κ°€ μš©μ΄ν•˜λ„λ‘ κ΅¬ν˜„ν–ˆμŠ΅λ‹ˆλ‹€.
    • 둜그인 인증 μ‹œ, Googleκ³Ό GitHub은 같은 ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•˜λ―€λ‘œ μž¬μ‚¬μš©ν•  수 있게 κ΅¬ν˜„ν–ˆμŠ΅λ‹ˆλ‹€.

4.4 Firebase μ‚¬μš©ν•œ μ‹€μ‹œκ°„ λ°μ΄ν„°λ² μ΄μŠ€

  • μΆ”κ°€, μ‚­μ œ, μˆ˜μ • κΈ°λŠ₯ πŸ”Ž card_repository.js μ½”λ“œ 확인 & maker.jsx μ½”λ“œ 확인
    • μΉ΄λ“œμ˜ μΆ”κ°€, μ‚­μ œ, μˆ˜μ • κΈ°λŠ₯을 κ³΅ν†΅μœΌλ‘œ μ‚¬μš©ν•˜λŠ” ν•˜μœ„ μ»΄ν¬λ„ŒνŠΈλ“€μ— props 전달을 μœ„ν•΄ ν•¨μˆ˜λŠ” Maker μ»΄ν¬λ„ŒνŠΈμ— μ •μ˜ν•˜μ˜€μŠ΅λ‹ˆλ‹€.

5. 핡심 νŠΈλŸ¬λΈ” μŠˆνŒ…

5.1 λΌμš°ν„° v5, μ»΄ν¬λ„ŒνŠΈ 전달 μ‹œ 문제

κΈ°μ‘΄ μ½”λ“œ
<Route path='/info' FileInput={FileInput} component={Maker} />
  • error의 원인은 μ§€κΈˆ μƒκ°ν•˜λ©΄ λ„ˆλ¬΄λ„ λ‹Ήμ—°ν•˜μ§€λ§Œ, ν•΄κ²°ν•˜λŠ” κ·Έλ•ŒλŠ” μ™œ μ•ˆλ˜λŠ”μ§€ 이해가 μ•ˆ λΌμ„œ λΉ„μŠ·ν•œ errorλ₯Ό ν•΄κ²°ν•œ λΈ”λ‘œκ·Έλ₯Ό μ°Έκ³ ν•˜μ—¬ FileInput μ»΄ν¬λ„ŒνŠΈλ₯Ό μ‚¬μš©ν•˜λŠ” CardAddForm μ»΄ν¬λ„ŒνŠΈκΉŒμ§€ 주석을 ν•˜λ‚˜ν•˜λ‚˜ ν•΄κ°€λ©° 원인을 μ°Ύμ•˜μŠ΅λ‹ˆλ‹€.
  • 원인은 λΌμš°ν„° 섀정에 μžˆμ—ˆμŠ΅λ‹ˆλ‹€. 즉, appΒ·jsxμ—μ„œ λΌμš°ν„° 섀정을 ν•˜κ²Œ 될 λ•Œ κΈ°μ‘΄ μ½”λ“œμ™€ 같은 방식은 Maker μ»΄ν¬λ„ŒνŠΈλ‘œ 값이 μ „λ‹¬λ˜μ§€ λͺ»ν•˜κ³  μ•ˆμœΌλ‘œ μ „λ‹¬λ˜λŠ” 것을 κΉ¨λ‹¬μ•˜μŠ΅λ‹ˆλ‹€.
  • 이에 원인을 μ°Ύκ³  λ‹€μ‹œ λΌμš°ν„° 섀정을 ν•΄μ£ΌκΈ° μœ„ν•΄ React Routerλ₯Ό μ°Έκ³ ν•˜μ—¬, κ°œμ„ λœ μ½”λ“œμ™€ 같이 λ³€κ²½ν•΄μ£Όμ—ˆμŠ΅λ‹ˆλ‹€.
κ°œμ„ λœ μ½”λ“œ
<Route path='/maker'>
  <Maker  
    FileInput={FileInput} 
    authService={authService}
    cardRepository={cardRepository}
  />
</Route>

6. 회고 / λŠλ‚€μ 

Entertainment Design ν”„λ‘œμ νŠΈλ₯Ό μ§„ν–‰ν•˜λ©΄μ„œ 처음 μ‚¬μš©ν•˜λŠ” React.js의 κ°œλ…μ„ μ΄ν•΄ν•˜λŠ”λ° μžˆμ–΄ 이전에 λ§Œλ“  λžœλ”©νŽ˜μ΄μ§€κ°€ ν† λŒ€κ°€ λ˜μ–΄ λ§Žμ€ 도움이 λ˜μ—ˆμŠ΅λ‹ˆλ‹€. 이에 μ–΄λ–€ 일이든지 기본이 κ°€μž₯ μ€‘μš”ν•˜λ‹€λŠ” 것을 λ‹€μ‹œ ν•œλ²ˆ 깨달을 수 μžˆμ—ˆλ˜ ν”„λ‘œμ νŠΈμ˜€μŠ΅λ‹ˆλ‹€.

Entertainment Design ν”„λ‘œμ νŠΈλŠ” λ“œλ¦Ό μ½”λ”©μ˜ React κ°•μ˜λ₯Ό λ“€μœΌλ©° 전체적인 React.js κ°œλ…μ„ μ΄ν•΄ν•˜κ³ , μ‘μš©ν•˜μ˜€μŠ΅λ‹ˆλ‹€.
λ¬Όλ‘  처음 React.jsλ₯Ό μ‚¬μš©ν•˜λ©° κ°œλ…μ„ μ΄ν•΄ν•˜λ©΄μ„œ κ΅¬ν˜„ν•˜λŠ” 것은 μ–΄λ €μ› μ§€λ§Œ, νŒ€μ΄ μ•„λ‹Œ 개인으둜 κΈ°λŠ₯을 ν•˜λ‚˜ν•˜λ‚˜ κ΅¬ν˜„ν•΄λ‚˜κ°€λŠ” 성취감은 더 λ°°κ°€ 된 ν”„λ‘œμ νŠΈμ˜€μŠ΅λ‹ˆλ‹€.

About

🎀 K-pop μ—”ν„°ν…ŒμΈλ¨ΌνŠΈ ν™ˆνŽ˜μ΄μ§€

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published