Skip to content

๐Ÿ’ก ํŒ€ ๊ธฐ์—…๊ณผ์ œ 6 : ํœด๋จผ์Šค์ผ€์ดํ”„

Notifications You must be signed in to change notification settings

wanted-Team4/wanted-codestates-project-4-10

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

58 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ”Ž ํœด๋จผ์Šค์ผ€์ดํ”„

๊ฒ€์ƒ‰์–ด ์ถ”์ฒœ API๋ฅผ ์ด์šฉํ•œ ๊ฒ€์ƒ‰์ฐฝ์„ ๊ตฌํ˜„ํ•œ ํ”„๋กœ์ ํŠธ์ž…๋‹ˆ๋‹ค.


๐Ÿ”Ž View


๐Ÿ”Ž Q&A

๊ตฌํ˜„ ๋ฐฉ๋ฒ•๊ณผ ์ด์œ 

๊ธฐ์—… ์ธก์—์„œ ์ œ์‹œํ•œ ์Šคํƒ์ธ Javascript, React, Redux๋ฅผ ์‚ฌ์šฉํ•ด ๊ณผ์ œ๋ฅผ ๊ตฌํ˜„ํ•˜์˜€๊ณ , localStorage์™€ debouncing์œผ๋กœ API ํ˜ธ์ถœ ์ตœ์ ํ™”๋ฅผ ํ•ด์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.

์–ด๋ ค์› ๋˜ ์ 

๊ณผ์ œ ๋‚ด์šฉ์—๋„ ์ œ์‹œ๋˜์–ด์žˆ๋Š” ๋‚ด์šฉ์œผ๋กœ, ๋ฐ˜๋ณต์ ์ธ API ํ˜ธ์ถœ๋กœ ๋Š๋ ค์ง€๋Š” ๋ Œ๋”๋ง์„ ์ตœ์ ํ™” ์‹œํ‚ค๋Š” ์ž‘์—…์„ ํ•  ๋•Œ ๋งŽ์€ ๊ณ ๋ฏผ์„ ํ–ˆ๋˜ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.


๐Ÿ”Ž Implement

Stack

Javascript React Redux Styled-Components git Flow Axios

Features

๊ฒ€์ƒ‰

  • ๊ฒ€์ƒ‰ 10๊ฐœ์˜ ์ƒ์œ„ ํ‚ค์›Œ๋“œ๊ฐ€ ์ถ”์ฒœ๋˜๋„๋ก ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค.

api๋Š” ๋ณด์•ˆ์„ ์œ„ํ•ด .env ํŒŒ์ผ์—์„œ ๊ด€๋ฆฌํ•จ์œผ๋กœ ๋ ˆํฌ์ง€ํ† ๋ฆฌ์— ์˜ฌ๋ผ๊ฐ€์ง€ ์•Š๋„๋ก ํ–ˆ์Šต๋‹ˆ๋‹ค.

  • ํ‚ค๋ณด๋“œ๋กœ ์ด๋™

ArrowDown, ArrowUp์œผ๋กœ ํ‚ค๋ณด๋“œ๋ฅผ ์ธ์‹ํ•˜๊ณ  ํ˜„์žฌ ํ‘œ์‹œ์ค‘์ธ ์ธ๋ฑ์Šค๋ฅผ ๊ฐ€์ ธ์™€ ์ž…๋ ฅ์‹œ ๋ฐฉํ–ฅํ‚ค๋กœ ์›ํ•˜๋Š” ํ‚ค์›Œ๋“ค ์„ ํƒํ• ์ˆ˜์žˆ๊ฒŒ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค.

debounce

  • onChange๊ฐ€ ์ผ์–ด๋‚ ๋•Œ๋งˆ๋‹ค apiํ˜ธ์ถœ๋˜๋Š”๊ฑธ ๋ง‰์•„์ฃผ๋Š” ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ setTimeout์œผ๋กœ 500๋งˆ๋‹ค ๋ถˆ๋ฆฌ๋„๋ก ์„ค์ •ํ•˜์—ฌ ๊ณผ๋„ํ•œ API ํ˜ธ์ถœ์„ ํ†ต์ œํ–ˆ์Šต๋‹ˆ๋‹ค.

API ํ˜ธ์ถœ ์ตœ์ ํ™”

LocalStorage๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ฒ€์ƒ‰ ์‹œ ๋งˆ๋‹ค API ์š”์ฒญ์„ ์„œ๋ฒ„์— ํ•˜์ง€ ์•Š๊ณ  ํ•œ ๋ฒˆ ๊ฒ€์ƒ‰์„ ํ–ˆ๋˜ ๊ฒ€์ƒ‰์–ด๋Š” LocalStorage์— ์ €์žฅ์„ ํ•˜์—ฌ API ํ˜ธ์ถœ ํšŸ์ˆ˜๋ฅผ ์ค„์˜€์Šต๋‹ˆ๋‹ค.

๊ตฌํ˜„

  • ๋กœ์ปฌ ์บ์‹ฑ์„ ๊ตฌํ˜„ํ•˜๋Š” ์—ฌ๋Ÿฌ ๋ฐฉ๋ฒ•์ด ์žˆ์—ˆ์ง€๋งŒ ์˜๊ตฌ๋ณด๊ด€์ด ๊ฐ€๋Šฅํ•˜๊ณ  ๋ฐ์ดํ„ฐ ์œ ํšจ ๊ธฐ๊ฐ„ ์„ค์ •์ด ๊ฐ€๋Šฅํ•œ

    localStorage๊ฐ€ ์ข‹์„ ๊ฒƒ์œผ๋กœ ์ƒ๊ฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

  • ์ฒ˜์Œ ๊ฒ€์ƒ‰ ์‹œ, ๊ฐ€์ ธ์˜จ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ  ํ›„ ๋™์ผํ•œ ์š”์ฒญ์ด ์žˆ์„์‹œ ์บ์‹œ๋ฅผ ์ด์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ค๊ณ ,

    ์—†์„ ๊ฒฝ์šฐ localStorage๋ฅผ ์ด์šฉํ•˜์—ฌ ์ €์žฅ์„ ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

  • ๊ฒ€์ƒ‰ ์˜์—ญ UI

  • ๊ฒ€์ƒ‰ ์‹œ ์ถ”์ฒœ ๊ฒ€์ƒ‰์–ด ์ฐฝ ๊ตฌํ˜„

  • Redux ์ƒํƒœ ๊ด€๋ฆฌ

  • localStorage๋กœ API ํ˜ธ์ถœ ์ตœ์ ํ™”

  • ์›น ๋ฐฐํฌ


๐Ÿ”Ž Directory

โ”œโ”€โ”€ public/
โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ action/                  - reducer action components
โ”‚   โ”œโ”€โ”€ components/              - page components
โ”‚   โ”œโ”€โ”€ pages/                   - routed pages
โ”‚   โ”œโ”€โ”€ reducers/                - redux reducer ๊ตฌํ˜„
โ”‚   โ””โ”€โ”€ store/                   - reducer ์—ฐ๊ฒฐ
โ”‚
โ”œโ”€โ”€ App.js                       - page routing
โ”œโ”€โ”€ index.js                     - entry point
โ”œโ”€โ”€ README.md                    - ๋ฆฌ๋“œ๋ฏธ(ํ”„๋ฆฌ๋ทฐ, ๋ฐฐํฌ๋งํฌ, ์ฝ”๋“œ์ปจ๋ฒค์…˜)
โ””โ”€โ”€ package.json                 - ์‚ฌ์šฉ package ๋ชฉ๋ก


๐Ÿ”Ž Code Convention

Getting Started

  1. clone the repository,
$ git clone "https://github.com/wanted-Team4/wanted-codestates-project-4-10.git"
  1. Install dependencies,
$ npm install
  1. start the project,
$ npm start
  1. Setting prettier,
$ npx prettier --write .

Environment Variable

REACT_APP_SEARCH_API=

Commit Emoji

emoji commit message when to use it
๐ŸŽ‰ Start ํ”„๋กœ์ ํŠธ ์‹œ์ž‘
โœจ Feat ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ ์ถ”๊ฐ€
๐Ÿ› Fix ๋ฒ„๊ทธ ์ˆ˜์ •
โ™ป๏ธ Refactor ์ฝ”๋“œ ๋ฆฌํŒฉํ„ฐ๋ง
๐Ÿ’„ Style ์Šคํƒ€์ผ ์ถ”๊ฐ€ ๋ฐ ์—…๋ฐ์ดํŠธ
๐Ÿ“ฆ Chore ํŒจํ‚ค์ง€ ์ถ”๊ฐ€ ๋ฐ ์—…๋ฐ์ดํŠธ
๐Ÿ“š Docs ๊ทธ ์™ธ ๋ฌธ์„œ ์ถ”๊ฐ€ ๋ฐ ์—…๋ฐ์ดํŠธ


About

๐Ÿ’ก ํŒ€ ๊ธฐ์—…๊ณผ์ œ 6 : ํœด๋จผ์Šค์ผ€์ดํ”„

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published