Recoil_ToDo icon indicating copy to clipboard operation
Recoil_ToDo copied to clipboard

Todo๐Ÿ“† application created using Recoil and React โš›๏ธ

๐Ÿฆ„ ToDo Application created using Recoil and React

WIP!! TS๊ธฐ๋ฐ˜์œผ๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ์ค‘

๐Ÿš€ Demo URL

  • Github Page
  • Demo Image
    • Theme (light, dark)
    • Desktop, Mobile

๐ŸŽˆ Introduce

  • ์ด ํ”„๋กœ์ ํŠธ๋Š” React์˜ ์ƒํƒœ ๊ด€๋ฆฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ธ Recoil๋ฅผ ๋ฐฐ์šฐ๊ธฐ ์œ„ํ•œ ๋ชฉ์ ์œผ๋กœ ๋งŒ๋“ค์–ด์กŒ์Šต๋‹ˆ๋‹ค.
  • ๊ทธ๋กœ ์ธํ•ด ๊ฐ„๋‹จํ•˜๊ฒŒ To-Do List๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ์œผ๋กœ ๋ชฉํ‘œ๋กœ ์žก๊ณ  ์‹œ์ž‘ํ•˜์˜€์œผ๋ฉฐ, ๋” ๋‚˜์•„๊ฐ€ Recoil์„ ์‚ฌ์šฉํ–ˆ์„๋•Œ ์–ด๋–ป๊ฒŒ API ํ†ต์‹ ํ•˜๋Š”์ง€ ๋ฐฐ์šฐ๊ณ  ์‹ถ์–ด์„œ ๋ฐฑ์•ค๋“œ๋„ ๊ฐ™์ด ๊ตฌํ˜„ํ•˜์˜€์Šต๋‹ˆ๋‹ค.
  • Recoil ์‚ฌ์šฉ์— ์žˆ์–ด์„œ ๋ฏธ์ˆ™ํ•œ ์ ์ด ๋งŽ์•„ ๊ณต์‹ ๋ฌธ์„œ์™€ ์—ฌ๋Ÿฌ ์ปค๋ฎค๋‹ˆํ‹ฐ ๋ฐ Recoil Github Issue๋ฅผ ์ฐธ๊ณ ํ•˜์˜€์Šต๋‹ˆ๋‹ค.
  • TDD ์‚ฌ์ดํด์„ ์™„๋ฒฝํ•˜๊ฒŒ ์ง€์ผฐ๋‹ค๊ณ ๋Š” ๋ชปํ•˜์ง€๋งŒ, ์ง€ํ‚ค๋ ค๊ณ  ๋…ธ๋ ฅํ•˜๋ฉฐ ๊ตฌํ˜„ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

๐Ÿ‘‰ Back-End Repository

  • https://github.com/saseungmin/Recoil_Todo_Backend

๐Ÿ”ฅ ๊ธฐ์ˆ  ์Šคํƒ ๋ฐ ์‚ฌ์šฉ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

  • React
  • Recoil
  • Emotion
  • Axios
  • Lodash
  • universal-cookie
  • Jest, React-Testing-Library, Cypress
  • Webpack, Eslint, Babel

๐Ÿถ Project Structure

๐Ÿ“ฆ src
 โ”ฃ ๐Ÿ“‚ assets
 โ”ƒ โ”ฃ ๐Ÿ“‚ css
 โ”ƒ โ”— ๐Ÿ“‚ icons
 โ”ฃ ๐Ÿ“‚ components
 โ”ƒ โ”ฃ ๐Ÿ“‚ auth
 โ”ƒ โ”ฃ ๐Ÿ“‚ common
 โ”ƒ โ”ฃ ๐Ÿ“‚ footer
 โ”ƒ โ”ฃ ๐Ÿ“‚ info-bar
 โ”ƒ โ”ฃ ๐Ÿ“‚ input
 โ”ƒ โ”ฃ ๐Ÿ“‚ todo
 โ”ƒ โ”— ๐Ÿ“‚ user-info
 โ”ฃ ๐Ÿ“‚ hooks
 โ”ฃ ๐Ÿ“‚ recoil
 โ”ƒ โ”ฃ ๐Ÿ“‚ auth
 โ”ƒ โ”ฃ ๐Ÿ“‚ common
 โ”ƒ โ”ฃ ๐Ÿ“‚ todos
 โ”ƒ โ”— ๐Ÿ“‚ user
 โ”ฃ ๐Ÿ“‚ services
 โ”ƒ โ”ฃ ๐Ÿ“‚ api
 โ”ฃ ๐Ÿ“‚ styles
 โ”ฃ ๐Ÿ“‚ utils
 โ”ƒ โ”ฃ ๐Ÿ“‚ constants
 โ”ƒ โ”ฃ ๐Ÿ“‚ recoil
 โ”ฃ ๐Ÿ“œ App.jsx
 โ”ฃ ๐Ÿ“œ App.test.jsx
 โ”— ๐Ÿ“œ index.jsx

๐Ÿ›  Project Settings

๐Ÿ“ข Install dependencies

> yarn install

๐Ÿ“ข Start Dev Server

> yarn start

๐Ÿ“ข Tests with Jest

  • test
> yarn test
  • test watch
> yarn run test:watch
  • Run test with Code Coverage
> yarn run coverage

๐Ÿ“ข Build project

> yarn run build

๐Ÿ“ข Check Lint

> yarn run lint

๐Ÿ“ข Deploy to Github Pages

  • However, I used Github Actions for Continuous Delivery
> yarn run deploy

๐Ÿค” ์ถ”๊ฐ€์ ์ธ Issue ์‚ฌํ•ญ๊ณผ ๊ณ ๋ฏผํ•ด๋ณผ์ 

๐Ÿ’ป Demo

  • Theme

ย 

  • Desktop

demo-desktop

  • mobile

๐Ÿ› Bug reporting

Issues

๐Ÿ”’ LICENSE

This Project is MIT licensed.