Skip to content

CSKIM999/Workout_WebApp.Project_2.0-With-React

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

67 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ’ͺWorkout Web App Project 2.0 With React πŸ‹οΈβ€β™‚οΈ

μ•žμ„œ λ§Œλ“  Vanilla JS Web-App ν”„λ‘œμ νŠΈ Web-App With VanillaJS ver_1.0 λ₯Ό
React, Redux 그리고 MongoDB λ₯Ό ν™œμš©ν•˜μ—¬ μž¬κ΅¬μ„±ν•œ ν”„λ‘œμ νŠΈμž…λ‹ˆλ‹€.

PROJECT URL πŸ‘€πŸ‘ πŸ‘‰Web App Project ver 2.0 with ReactπŸ‘ˆ

ν…ŒμŠ€νŠΈ 아이디 ( ID :: [email protected] // PW :: 1234 ) λ₯Ό 톡해 μ ‘μ†ν•˜λŠ” 경우 κ°„λ‹¨ν•œ κ°€μ΄λ“œ 컨텐츠가 μ €μž₯λ˜μ–΄μžˆμœΌλ©°
λͺ¨λ°”일 ν™˜κ²½μ—μ„œ λ³΄μ‹œλ©΄ λ”μš± 보기 νŽΈν•©λ‹ˆλ‹€.


USED STACKS


why? πŸ™„

μˆ˜ν•™ 곡식을 μ™Έμš°λŠ” 것과 그것을 ν™œμš©ν•˜λŠ” 것은 λ‹€λ₯΄λ“―,
μ½”λ“œλ₯Ό 따라 치며 λ°°μš°λŠ” 것과 그것을 ν™œμš©ν•˜λŠ” 것은 λ‹€λ₯΄λ‹€λŠ” 것이 μ €μ˜ μƒκ°μž…λ‹ˆλ‹€.

κ°€μ΄λ“œλΌμΈ 없이 μ›ν•˜λŠ” 것을 κ΅¬ν˜„ν•˜λ©° κΈ°μˆ μ„ μ²΄ν™”ν•˜κΈ° μœ„ν•΄ ν‰μ†Œμ— μ‚¬μš©ν•˜λ˜ μš΄λ™ 보쑰 μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜μ„ μž¬κ΅¬μ„±ν–ˆμŠ΅λ‹ˆλ‹€.

what? πŸ€·β€β™‚οΈ

μ•žμ„  Vanilla JS ν”„λ‘œμ νŠΈμ˜ κ°€μž₯ 큰 λ¬Έμ œμ μ€ Back-End λ₯Ό κ³ λ €ν•˜μ§€ μ•Šμ€ 반μͺ½μ§œλ¦¬ ν”„λ‘œμ νŠΈλΌλŠ” 점 μž…λ‹ˆλ‹€.
λ”°λΌμ„œ 이번 ν”„λ‘œμ νŠΈμ—μ„œλŠ” Back-End λ˜ν•œ κ΅¬ν˜„ν•˜μ—¬ μ˜¨μ „ν•œ ν•˜λ‚˜μ˜ ν”„λ‘œμ νŠΈλ₯Ό κ΅¬ν˜„ν•˜κ³ μž ν–ˆμŠ΅λ‹ˆλ‹€.
μ•žμ„  ν”„λ‘œμ νŠΈλ₯Ό κ°œμ„ ν•œλ‹€λŠ” μ˜λ―Έλ‘œμ„œ 버전 2.0 둜 λͺ…λͺ…ν•œ 이 ν”„λ‘œμ νŠΈμ˜ 달라진 점은 λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€.

  1. React 라이브러리 μ‚¬μš©
  2. Redux λ₯Ό μ‚¬μš©ν•œ μƒνƒœκ΄€λ¦¬
  3. MUI λ₯Ό μ‚¬μš©ν•œ 쑰금 더 λ‚˜μ€ UI
  4. Node.js,Express 그리고 Axios λ₯Ό ν†΅ν•œ Backend κ΅¬ν˜„
  5. ORACLE CLOUD μ„œλ²„ & SSL인증 https 톡신

How? πŸ‘¨β€πŸ”§

Front-End Stack πŸ‘

  • CRA λ₯Ό ν†΅ν•œ κ°œλ°œν™˜κ²½ ꡬ좕
  • http-proxy-middleware 라이브러리 μ‚¬μš©μ„ 톡해 개발 단계 CORS νšŒν”Ό, 배포 단계에선 cors 미듀웨어 섀정을 톡해 νšŒν”Όν–ˆμŠ΅λ‹ˆλ‹€.
  • ver_1.0 이 MVC νŒ¨ν„΄μ˜ SPA μ˜€μœΌλ‚˜, 둜그인 μœ μ €λ§Œ μ‚¬μš©ν•  수 μžˆλ„λ‘ 인증 (Auth) 절차 μΆ”κ°€λ₯Ό μœ„ν•΄ λΉ„λ‘œκ·ΈμΈ μœ μ €λ₯Ό Login/Regist μœ λ„ν•˜κΈ° μœ„ν•΄ /front νŽ˜μ΄μ§€λ‘œ λΌμš°νŒ… ν–ˆμŠ΅λ‹ˆλ‹€.
  • 규λͺ¨κ°€ 큰 App 이 μ•„λ‹ˆμ–΄μ„œContext API ν˜Ήμ€ 심지어 props drilling μœΌλ‘œλ„ μƒνƒœκ΄€λ¦¬κ°€ κ°€λŠ₯ν•˜λ‹€κ³  μƒκ°ν–ˆμœΌλ‚˜, μ‹€μŠ΅ μ°¨μ›μ—μ„œ Redux λ₯Ό μ„ νƒν–ˆμŠ΅λ‹ˆλ‹€.
  • ver_1.0 μ—μ„œ css μ‚¬μš©μ—λ§Œ μ•½ 2주의 μ‹œκ°„μ„ μ†Œμš”ν–ˆμœΌλ‚˜, 결과물은 κ·Έ 만큼의 λ§Œμ‘±κ°μ€ μ—†μ—ˆμŠ΅λ‹ˆλ‹€. λ”°λΌμ„œ 더 λ‚˜μ€ λ””μžμΈκ³Ό κ°œλ°œμ†λ„λ₯Ό μœ„ν•΄ UI 라이브러리 μ‚¬μš©ν–ˆμŠ΅λ‹ˆλ‹€.
  • μ°Έκ³  μžλ£Œμ—μ„  Ant-Design 라이브러리λ₯Ό μ‚¬μš©ν–ˆμœΌλ‚˜, κ°€μž₯ λŒ€μ€‘μ μ΄λΌκ³  ν•˜λŠ”(maybe...?) MUI λ₯Ό μ‚¬μš©ν•˜κ³ μž μ„ νƒν–ˆμŠ΅λ‹ˆλ‹€.
  • Githut-Page 의 μ°Έ 고마운 front-end https 톡신섀정
  • μ°Έκ³  μ–΄ν”Œμ΄ μžˆμ—ˆμ§€λ§Œ μž¬κ΅¬μ„±μΈ 만큼, μƒˆλ‘œμš΄ λ””μžμΈμ„ μœ„ν•΄ 보색을 μ‚¬μš©ν•˜μ—¬ μ›Ήμ ‘κ·Όμ„±ν‘œμ€€(WCAG) AA λ ˆλ²¨μ„ μ€€μˆ˜ν•˜λŠ” Primary,Secondary λΈŒλžœλ“œ 컬러λ₯Ό μƒˆλ‘­κ²Œ μ„€μ •ν•˜κ³ , 그레이 μŠ€μΌ€μΌ λ˜ν•œ κ³ λ €ν•΄ λ³΄μ•˜μŠ΅λ‹ˆλ‹€.

Back-End Stack πŸ™‡β€β™‚οΈ

  • Node.js 와 MongoDB λ₯Ό μ—°κ²°ν•˜κΈ° μœ„ν•΄ mongoose ODM μ‚¬μš©.
  • bycrypt Salt λ₯Ό ν†΅ν•œ DB정보 μ•”ν˜Έν™” (λΉ„λ°€λ²ˆν˜Έ)
  • JWT 둜그인 토큰정보λ₯Ό cookie 에 μ €μž₯, μΏ ν‚€λ₯Ό μ‚¬μš©ν•˜μ§€ μ•ŠλŠ” Native ν™˜κ²½μ—μ„œλŠ” Redux-persistλ₯Ό ν™œμš©ν•˜μ—¬ GET μš”μ²­μ˜ 헀더에 νŒŒλΌλ―Έν„°λ‘œ 건넀주도둝 ν–ˆμŠ΅λ‹ˆλ‹€.
  • DB λ‚΄ User data μ—μ„œ ν˜„μž¬ 토큰 정보λ₯Ό ν•˜λŠ” κ²ƒμœΌλ‘œ 둜그인 μ—¬λΆ€ 확인
  • ν”„λ‘œμ νŠΈλŠ” λ‚΄κ°€ μ„œλ²„λ₯Ό μΌ°μ„λ•Œ 뿐만 μ•„λ‹ˆλΌ μ–Έμ œλ“  μ ‘κ·Όν•΄μ„œ λ³Ό 수 μžˆμ–΄μ•Ό μ˜¨μ „ν•œ ν”„λ‘œμ νŠΈλΌκ³  μƒκ°ν•˜μ—¬ ν”νžˆλ“€ μ‚¬μš©ν•˜λŠ” Heroku λ₯Ό μ‚¬μš©ν•˜κ³ μž ν–ˆμŠ΅λ‹ˆλ‹€.
  • ν•˜μ§€λ§Œ 배포λ₯Ό μ•žλ‘κ³  22λ…„ 말 λΆ€λ‘œ Heroku 의 Free tier κ°€ μ—†μ–΄μ§„λ‹€λŠ” 기사λ₯Ό μ ‘ν•˜μ—¬ κΈ‰ν•˜κ²Œ Ubuntu 기반 ORACLE Cloud 둜 μ„ νšŒν–ˆμŠ΅λ‹ˆλ‹€.
  • OCI( Oracle Cloud Infrastructure) 에 λ“±λ‘λœ 개인 도메인을 Let's Encrypt λ₯Ό ν†΅ν•œ SSL 인증으둜 back-end https 톡신섀정

이 ν”„λ‘œμ νŠΈλ₯Ό μ§„ν–‰ν•˜λ©° μ—­μ‹œλ‚˜ 배우던 것과 μ‹€μ œ μ‚¬μš©ν•˜λŠ” 것 μ‚¬μ΄μ—λŠ” 간극이 있고 κ·Έ κ³Όμ •μ—μ„œ 또 많이 배울 수 μžˆμ—ˆλ‹€.
νŠΉνžˆλ‚˜ ν•¨μˆ˜ν˜• μ»΄ν¬λ„ŒνŠΈλ₯Ό μ‚¬μš©ν•˜λ©° React-Hooks 의 νŽΈλ¦¬ν•¨μ— ν˜€λ₯Ό 내두λ₯΄κ³ , λΈŒλžœλ“œ 컬러, 그레이 μŠ€μΌ€μΌ, WCAG λ“± UI λ₯Ό 곡뢀해보며 μ μ ˆν•˜κ³  λ””ν…ŒμΌν•œ λ””μžμΈμ΄ μ£ΌλŠ” 높은 UX 에 λŒ€ν•΄μ„œ λ‹€μ‹œκΈˆ μƒκ°ν•˜κ²Œ λ˜μ—ˆλ‹€.
λ˜ν•œ ν΄λΌμš°λ“œ μ„œλΉ„μŠ€λ₯Ό μ‚¬μš©ν•΄λ³΄λ©° 자의 반 νƒ€μ˜ 반으둜 λ¦¬λˆ…μŠ€ μ„œλ²„ ν™˜κ²½μ„ μ ‘ν•΄λ³΄κ²Œ λ˜μ—ˆλŠ”λ° 이둜 인해 μ ‘ν•œ 도메인, SSL 인증, ν΄λΌμš°λ“œ μΈμŠ€ν„΄μŠ€ ν™˜κ²½λ“±μ΄ λ„ˆλ¬΄ 뜻 κΉŠμ—ˆλ‹€.
μ•„μ‰¬μš΄μ  이라면 μ΅œμ ν™”μ— λŒ€ν•œ 아쉬움이 λ‚¨λŠ”λ‹€. 쑰금 더 λ””ν…ŒμΌν•˜κ²Œ λ””μžμΈν–ˆλ‹€λ©΄ μ€‘λ³΅λ˜λŠ” λ‚΄μš©μ„ 더 μ΅œμ†Œν™” ν•˜κ³  λΆˆν•„μš”ν•œ 연산을 쀄일 수 μžˆμ—ˆμ§€ μ•Šμ„κΉŒ μ‹Άλ‹€.

About

Reorganization Web-App through React and Node.js with mongoDB

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published