OohYhatLeeλ νΈλ₯Έ μ¬λ¦ λ°λ€λ₯Ό 컨μ
μΌλ‘ ν μλ₯ μΌνλͺ° μΉ μ¬μ΄νΈμ
λλ€.
ποΈ μ¬μ΄νΈ λ°λ‘κ°κΈ°
- μνλ±λ‘ : μ΄λλ―Ό μ¬μ©μλ λ±λ‘ νμ΄μ§μμ μ κ· μνμ λ±λ‘ν μ μμ΅λλ€.
- μ₯λ°κ΅¬λ : λ‘κ·ΈμΈν μ¬μ©μλ μ₯λ°κ΅¬λμ μλ μνμ κ΄λ¦¬ν μ μμ΅λλ€.
- λ°μν λμμΈ : λ°μν μΉμ μ μ©νμ¬ λͺ¨λ°μΌ, ν λΈλ¦Ώ, λ°μ€ν¬νμμ μ¬μ©ν μ μμ΅λλ€.
- Clone the repo
$ git clone https://github.com/337yj/shopping-mall-oohyhatlee.git
- Install Yarn
$ yarn install
- .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=
- client build & run project
$ yarn build
$ yarn start
ReactTypeScriptSassReact-QueryContextfirebaseCloudinaryESLintPrettierAWS S3Github 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
| λ°μ€ν¬ν ν | λͺ¨λ°μΌ ν |
|
|
| γλ°μ€ν¬ν λ·° | γ λͺ¨λ°μΌ λ·° γ λ©λ΄ μ΄λ |







