Skip to content

337yj/shopping-mall-oohyhatlee

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

52 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

logo
logo

ν”„λ‘œμ νŠΈ μ†Œκ°œ

OohYhatLeeλŠ” ν‘Έλ₯Έ 여름 λ°”λ‹€λ₯Ό μ»¨μ…‰μœΌλ‘œ ν•œ 의λ₯˜ μ‡Όν•‘λͺ° μ›Ή μ‚¬μ΄νŠΈμž…λ‹ˆλ‹€.
🏝️ μ‚¬μ΄νŠΈ λ°”λ‘œκ°€κΈ°


핡심 κΈ°λŠ₯

  • μƒν’ˆλ“±λ‘ : μ–΄λ“œλ―Ό μ‚¬μš©μžλŠ” 등둝 νŽ˜μ΄μ§€μ—μ„œ μ‹ κ·œ μƒν’ˆμ„ 등둝할 수 μžˆμŠ΅λ‹ˆλ‹€.
  • μž₯λ°”κ΅¬λ‹ˆ : λ‘œκ·ΈμΈν•œ μ‚¬μš©μžλŠ” μž₯λ°”κ΅¬λ‹ˆμ— μžˆλŠ” μƒν’ˆμ„ 관리할 수 μžˆμŠ΅λ‹ˆλ‹€.
  • λ°˜μ‘ν˜• λ””μžμΈ : λ°˜μ‘ν˜• 웹을 μ μš©ν•˜μ—¬ λͺ¨λ°”일, ν…ŒλΈ”λ¦Ώ, λ°μŠ€ν¬νƒ‘μ—μ„œ μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

ν”„λ‘œμ νŠΈ μ‹œμž‘ν•˜κΈ°

  1. Clone the repo
$ git clone https://github.com/337yj/shopping-mall-oohyhatlee.git
  1. Install Yarn
$ yarn install
  1. .env νŒŒμΌμ„ λ§Œλ“€κ³  Firebase 와 Cloudinary ν™˜κ²½λ³€μˆ˜λ₯Ό μž…λ ₯ν•©λ‹ˆλ‹€.
$ touch .env
# .env
REACT_APP_FIREBASE_API_KEY=
REACT_APP_FIREBASE_AUTH_DOMAIN=
REACT_APP_FIREBASE_DB_URL=
REACT_APP_FIREBASE_PROJECT_ID=
REACT_APP_CLOUDINARY_URL=
REACT_APP_CLOUDINARY_PRESET=
  1. client build & run project
$ yarn build
$ yarn start

기술 μŠ€νƒ

  • React TypeScript Sass
  • React-Query Context
  • firebase Cloudinary
  • ESLint Prettier
  • AWS S3 Github Action

폴더 ꡬ쑰

πŸ“‚src
 β”œβ”€ api # Firebase API, Cloudinary upload API 
 β”œβ”€ assets # ν•„μš”ν•œ λ¦¬μ†ŒμŠ€λ“€
 β”œβ”€ components # μ»΄ν¬λ„ŒνŠΈ
 β”‚  β”‚ 
 β”‚  β”œβ”€ Common # 곡톡
 β”‚  β”‚  └─ # CartItem, CartStatus, PriceCard, Products, Button
 β”‚  β”‚ 
 β”‚  └─ Layout # λ ˆμ΄μ•„μ›ƒ
 β”‚     └─ # Header, Footer
 β”‚ 
 β”œβ”€ context
 β”‚  └─ AuthContext.tsx # μ‚¬μš©μž 인증 μ»¨ν…μŠ€νŠΈ
 β”‚ 
 β”œβ”€ hooks 
 β”‚  β”œβ”€ useCart.tsx # μž₯λ°”κ΅¬λ‹ˆ 데이터 페칭,관리 μ»€μŠ€ν…€ ν›…
 β”‚  β”œβ”€ useProducts.tsx # μƒν’ˆ 데이터 페칭,관리 μ»€μŠ€ν…€ ν›…
 β”‚  └─ useScrollFadeIn.tsx # 슀크둀 μ• λ‹ˆλ©”μ΄μ…˜ μ»€μŠ€ν…€ ν›…
 β”‚ 
 β”œβ”€ pages
 β”‚  β”œβ”€ AllProducts # μƒν’ˆ 리슀트 νŽ˜μ΄μ§€
 β”‚  β”œβ”€ Home # 메인 νŽ˜μ΄μ§€
 β”‚  β”œβ”€ MyCart # μƒν’ˆμΉ΄νŠΈ νŽ˜μ΄μ§€
 β”‚  β”œβ”€ NewProduct # μƒˆμƒν’ˆ 등둝 νŽ˜μ΄μ§€ (μ–΄λ“œλ―Ό)
 β”‚  β”œβ”€ ProductDetail # μƒν’ˆ 상세 νŽ˜μ΄μ§€
 β”‚  └─ ProtectedRoute # νŽ˜μ΄μ§€ μ ‘κ·Ό μ œμ–΄
 β”‚ 
 β”œβ”€ router
 └─ styles # reset, μ „μ—­ μŠ€νƒ€μΌ, scss λ³€μˆ˜
 β”‚  β”œβ”€ constants # colors
 β”‚  β”œβ”€ mixins # flexbox
 β”‚  β”œβ”€ _base.scss
 β”‚  β”œβ”€ _reset.scss 
 β”‚  └─ global.scss 
 └─ index.tsx

데λͺ¨ μ˜μƒ

μ–΄λ“œλ―Ό μ‚¬μš©μž 둜그인 λ‘œκ·ΈμΈν•˜μ§€ μ•Šμ€ μ‚¬μš©μž
γ†μ–΄λ“œλ―Ό μ‚¬μš©μž 둜그인 μ‹œ 헀더에 New메뉴 λ Œλ”λ§ γ†λ‘œκ·ΈμΈν•˜μ§€ μ•Šμ€ μ‚¬μš©μž μž₯λ°”κ΅¬λ‹ˆ νŽ˜μ΄μ§€ μ ‘κ·Ό μ œν•œ

λ°μŠ€ν¬νƒ‘ ν™ˆ λͺ¨λ°”일 ν™ˆ
γ†λ°μŠ€ν¬νƒ‘ λ·° ㆍ λͺ¨λ°”일 λ·°
ㆍ 메뉴 이동

μƒν’ˆ 리슀트 μƒν’ˆ λ””ν…ŒμΌ
ㆍ μƒν’ˆ μΉ΄ν…Œκ³ λ¦¬λ³„ 필터링
ㆍ μƒν’ˆ 검색 κΈ°λŠ₯
ㆍ νŠΉμ • μƒν’ˆμ„ ν΄λ¦­ν•˜μ—¬ ν•΄λ‹Ή μƒν’ˆμ˜ 상세 정보 확인 κ°€λŠ₯
ㆍ μƒν’ˆ μ˜΅μ…˜ 선택 및 μž₯λ°”κ΅¬λ‹ˆμ— μΆ”κ°€ κ°€λŠ₯

μž₯λ°”κ΅¬λ‹ˆ μƒν’ˆ 등둝
ㆍ λ‘œκ·ΈμΈν•˜μ§€ μ•Šμ€ μ‚¬μš©μžμ˜ μ ‘κ·Ό μ‹œ 메인 νŽ˜μ΄μ§€λ‘œ 이동
ㆍ μƒν’ˆμ˜ μˆ˜λŸ‰, 가격, 총 가격, 배솑비 ν‘œμ‹œ
ㆍ μ‚¬μš©μžλŠ” μž₯λ°”κ΅¬λ‹ˆμ—μ„œ μƒν’ˆ μˆ˜μ • 및 μ‚­μ œ κ°€λŠ₯
ㆍ μ–΄λ“œλ―Ό 계정 μ‚¬μš©μžμ—κ²Œλ§Œ 보이고 μ ‘κ·Ό κ°€λŠ₯
ㆍ μƒν’ˆμ˜ 이미지, μ œν’ˆλͺ…, 가격, μΉ΄ν…Œκ³ λ¦¬, μ œν’ˆ μ„€λͺ…, μ˜΅μ…˜ 정보 등둝

About

🌊 μ‡Όν•‘λͺ° μ›Ή μ‚¬μ΄νŠΈ

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors