/lotte-assignment

πŸ₯—λ‘―λ°ν—¬μŠ€μΌ€μ–΄ 사전 κ³Όμ œμž…λ‹ˆλ‹€πŸŒ 

Primary LanguageTypeScript

lotte-healthcare 사전 과제

πŸ“‡ μ§€μ›μž 이름

졜윀영

πŸ”₯ ν”„λ‘œμ νŠΈ 싀행방법

ν”„λ‘œμ νŠΈ λ””λ ‰ν† λ¦¬λ‘œ μ΄λ™ν•©λ‹ˆλ‹€

  • (예) C:\Users\lovec\Desktop\lotte-assignment>

npm을 μ‚¬μš©ν•˜μ—¬ ν•„μš”ν•œ λͺ¨λ“  μ˜μ‘΄μ„±μ„ μ„€μΉ˜ν•©λ‹ˆλ‹€ (Nodejs μ„€μΉ˜ 확인 ν•„μš”ν•©λ‹ˆλ‹€!)

  • npm install

ν”„λ‘œμ νŠΈλ₯Ό μ‹œμž‘ν•˜λ €λ©΄ λ‹€μŒ λͺ…령을 μ‹€ν–‰ν•˜μ„Έμš”

  • npm start

🌳 ν”„λ‘œμ νŠΈ ꡬ쑰 μ„€λͺ…

lotte-assignment
┣ README.md
┣ .gitignore
┣ tsconfig.json
┣ package-lock.json
┣ package.json
┃
┣ public
┃ β”— index.html
β”— src
 ┣ pages // μ»΄ν¬λ„ŒνŠΈλ“€μ„ λͺ¨μ•„놓은 폴더
 ┃ ┣ Home.tsx // 둜그인 μ„±κ³΅μ‹œ λ¦¬λ‹€μ΄λ ‰νŠΈλ˜λŠ” ν™ˆ ν™”λ©΄
 ┃ ┣ SignIn.tsx // 둜그인 νŽ˜μ΄μ§€
 ┃ β”— SignUp.tsx // νšŒμ›κ°€μž… νŽ˜μ΄μ§€
 ┣ App.css 
 ┣ App.tsx 
 ┣ cardlist.ts // ν™ˆ ν™”λ©΄μ—μ„œ 보여쀄 μΉ΄λ“œ λͺ©λ‘
 β”— ProtectedRoute.tsx // λ¦¬λ‹€μ΄λ ‰νŠΈ
 

🌟 각 κΈ°λŠ₯ μ„€λͺ…

νšŒμ›κ°€μž… κΈ°λŠ₯

  • 이름 : ν•„μˆ˜ μž…λ ₯(문자만 ν—ˆμš©)

  • 이메일 ν˜•μ‹ 검사

  • λΉ„λ°€λ²ˆν˜Έ : 8자 μ΄μƒμ˜ μ˜μ–΄ λŒ€λ¬Έμž&μ†Œλ¬Έμž + 숫자 + 특수문자

    -> λ§Œμ•½ μœ νš¨μ„± ν†΅κ³Όν•˜μ§€ λͺ»ν–ˆλ‹€λ©΄ κ·Έ 이유λ₯Ό μ•Œλ €μ€Œ

    -> λ§Œμ•½ μœ νš¨μ„± ν†΅κ³Όν–ˆλ‹€λ©΄ νšŒμ›κ°€μž… λ²„νŠΌ ν™œμ„±ν™”

    -> νšŒμ›κ°€μž… ν›„ λ‘œκ·ΈμΈνŽ˜μ΄μ§€λ‘œ λ¦¬λ‹€μ΄λ ‰νŠΈ

둜그인 κΈ°λŠ₯

  • 둜그인 νŽ˜μ΄μ§€μ—μ„œ λ‘œκ·ΈμΈμ„ μ§„ν–‰ν•˜κ³  μ •μƒμ μœΌλ‘œ μ™„λ£Œλ˜μ—ˆμ„ λ•Œ ν™ˆ 경둜둜 (/) λ¦¬λ‹€μ΄λ ‰νŠΈ

  • 둜그인 여뢀에 λ”°λ₯Έ λ¦¬λ‹€μ΄λ ‰νŠΈ 처리

    -> λ‘œμ»¬μŠ€ν† λ¦¬μ§€μ— 토큰이 μžˆλŠ” μƒνƒœλ‘œ νšŒμ›κ°€μž… or 둜그인 νŽ˜μ΄μ§€μ— μ ‘μ†ν•œλ‹€λ©΄ (/) home으둜 λ¦¬λ‹€μ΄λ ‰νŠΈ

    -> λ‘œμ»¬μŠ€ν† λ¦¬μ§€μ— 토큰이 μ—†λŠ” μƒνƒœλ‘œ (/) home에 μ ‘μ†ν•œλ‹€λ©΄ 둜그인 νŽ˜μ΄μ§€λ‘œ λ¦¬λ‹€μ΄λ ‰νŠΈ

ν™ˆ ν™”λ©΄

  • 둜그인이 μ •μƒμ μœΌλ‘œ λ˜μ—ˆμ„λ•Œ 접근이 κ°€λŠ₯ν•œ ν™ˆ ν™”λ©΄
  • μ‚¬μš©μž κ²½ν—˜μ„ κ³ λ €ν•œ λ„€λΉ„κ²Œμ΄μ…˜λ°”
  • μ‚¬μš©μž μΉœν™”μ μΈ UI/UX
  • λ‘―λ°ν—¬μŠ€μΌ€μ–΄ ν™ˆνŽ˜μ΄μ§€ μ—°κ²°
  • λ‘―λ°ν—¬μŠ€μΌ€μ–΄ 캐즐 μΈμŠ€νƒ€κ·Έλž¨ μ—°κ²°

πŸ“– ν•΄λ‹Ή 라이브러리 및 ν”„λ ˆμž„μ›Œν¬λ₯Ό μ‚¬μš©ν•œ 이유 μ„€λͺ…

React, TypeScript (기술 μŠ€νƒ)

React

  • 둜그인 및 νšŒμ›κ°€μž…κ³Ό 같은 μ€‘μš” μΈν„°λž™μ…˜μ— λŒ€ν•΄ μ‹€μ‹œκ°„ λ°˜μ‘μ„±μ„ μ œκ³΅ν•©λ‹ˆλ‹€.
  • λ³Έ κ³Όμ œμ—μ„œλŠ” API 연동이 μ—†μ§€λ§Œ μΆ”ν›„ ν”„λ‘œμ νŠΈκ°€ μ»€μ§€κ²Œ λœλ‹€λ©΄ 둜그인 μƒνƒœ, μ‚¬μš©μž μž…λ ₯ 데이터 등을 관리해야 ν•˜λŠ” λ³΅μž‘μ„±μ΄ μžˆμ„ 수 μžˆμŠ΅λ‹ˆλ‹€. React와 ν•¨κ»˜ Reduxλ‚˜ Context API λ“± μƒνƒœ 관리 κΈ°λŠ₯을 톡해 데이터 흐름 관리에 μš©μ΄ν•©λ‹ˆλ‹€.
  • UI μ»΄ν¬λ„ŒνŠΈ μž¬μ‚¬μš©μœΌλ‘œ 개발 μ‹œκ°„ 단좕 및 μ½”λ“œ 일관성 μœ μ§€ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

TypeScript

  • 폼 데이터와 (μΆ”ν›„) API 톡신 λ°μ΄ν„°μ˜ νƒ€μž… μ •μ˜λ₯Ό ν†΅ν•œ 였λ₯˜ κ°μ†Œ 및 μ•ˆμ •μ„±μ΄ ν–₯μƒλ©λ‹ˆλ‹€.
  • μΈν„°νŽ˜μ΄μŠ€, μ œλ„€λ¦­ λ“±μ˜ κΈ°λŠ₯을 ν†΅ν•œ λΉ λ₯΄κ³  효율적인 개발이 κ°€λŠ₯ν•©λ‹ˆλ‹€.

λ‘―λ°ν—¬μŠ€μΌ€μ–΄ κ³Όμ œμ—μ„œ React와 TypeScriptλ₯Ό μ‚¬μš©ν•œ 이유

  • ν—¬μŠ€μΌ€μ–΄ λΆ„μ•Όμ—μ„œλŠ” μ‚¬μš©μž λ°μ΄ν„°μ˜ λ³΄μ•ˆκ³Ό ν”„λΌμ΄λ²„μ‹œκ°€ 맀우 μ€‘μš”ν•©λ‹ˆλ‹€. 또, λ‘―λ°ν—¬μŠ€μΌ€μ–΄λŠ” μ‹œμŠ€ν…œμ΄ μ§€μ†μ μœΌλ‘œ μ„±μž₯ν•˜κ³  λ³€ν™”ν•  κ°€λŠ₯성이 λ†’μŠ΅λ‹ˆλ‹€. λŒ€κ·œλͺ¨ μ‹œμŠ€ν…œμ˜ 지속적 μ„±μž₯ 및 변화에 λŒ€μ‘ν•˜λŠ” ν™•μž₯μ„± 및 μœ μ§€λ³΄μˆ˜μ„± 에 μžˆμ–΄μ„œ μž₯점을 κ°€μ§‘λ‹ˆλ‹€.

    μ΄λŸ¬ν•œ 이유둜, λ¦¬μ•‘νŠΈμ™€ νƒ€μž…μŠ€ν¬λ¦½νŠΈλŠ” μ‚¬μš©μž κ²½ν—˜κ³Ό 개발 νš¨μœ¨μ„±μ„ λ™μ‹œμ— λ†’μ΄λ©΄μ„œ λ‘―λ°ν—¬μŠ€μΌ€μ–΄ 과제 μš”κ΅¬ 사항을 μΆ©μ‘±μ‹œν‚€λŠ” 졜적의 기술 μŠ€νƒμ΄λΌκ³  μƒκ°ν•©λ‹ˆλ‹€.

react-bootstrap

  • λ°˜μ‘ν˜• μ›Ή λ””μžμΈκ³Ό μΌκ΄€λœ UIλ₯Ό λΉ λ₯΄κ²Œ κ΅¬ν˜„ν•  수 있게 ν•΄μ£ΌλŠ” λΌμ΄λΈŒλŸ¬λ¦¬μž…λ‹ˆλ‹€.

fontawesome

  • fontawesome으둜 μ•„μ΄μ½˜μ„ μ‰½κ²Œ μ›Ή νŽ˜μ΄μ§€μ— μ‚½μž…ν•  수 있고, CSSλ₯Ό 톡해 μ•„μ΄μ½˜μ˜ 크기, 색상, 그림자 등을 자유둭게 μ‘°μ •ν•  수 μžˆμŠ΅λ‹ˆλ‹€. μ‚¬μš©μž μΈν„°νŽ˜μ΄μŠ€μ˜ 직관성과 μ‚¬μš©μž κ²½ν—˜μ„ κ°œμ„ ν•˜λŠ”λ° 도움을 μ£ΌλŠ” λΌμ΄λΈŒλŸ¬λ¦¬μž…λ‹ˆλ‹€.

🎨 κ΅¬ν˜„ ν™”λ©΄

둜그인 νšŒμ›κ°€μž…
ν™ˆ ν™”λ©΄1 ν™ˆ ν™”λ©΄2