/FEDC3-4_Project_Notion_VanillaJS

๐Ÿ“–๋…ธ์…˜ ํด๋กœ๋‹ ํ”„๋กœ์ ํŠธ

Primary LanguageJavaScript

๐Ÿ“–๋…ธ์…˜ ํด๋กœ๋‹ ํ”„๋กœ์ ํŠธ

๋ฐ”๋‹๋ผ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ด์šฉํ•ด์„œ ๋…ธ์…˜์˜ CRUD ๊ธฐ๋Šฅ์„ ํด๋ก ํ•œ ํ”„๋กœ์ ํŠธ์ž…๋‹ˆ๋‹ค.

โญ๋…ธ์…˜ ํ”„๋กœ์ ํŠธ ๋ฐฐํฌ
๐Ÿ˜Š๋…ธ์…˜ ํ”„๋กœ์ ํŠธ ํ”„๋กœ์ ํŠธ ํšŒ๊ณ 

๋…ธ์…˜


๐Ÿ“ ํด๋”๊ตฌ์กฐ


โ”œโ”€src
โ”‚  โ”‚  App.js
โ”‚  โ”‚  main.js
โ”‚  โ”‚  
โ”‚  โ”œโ”€Page
โ”‚  โ”‚  โ”œโ”€editPage
โ”‚  โ”‚  โ”‚      Editor.js
โ”‚  โ”‚  โ”‚      MarkUpList.js
โ”‚  โ”‚  โ”‚      PostEditPage.js
โ”‚  โ”‚  โ”‚      
โ”‚  โ”‚  โ”œโ”€listPage
โ”‚  โ”‚  โ”‚      Header.js
โ”‚  โ”‚  โ”‚      PostList.js
โ”‚  โ”‚  โ”‚      PostPage.js
โ”‚  โ”‚  โ”‚      
โ”‚  โ”‚  โ””โ”€startPage
โ”‚  โ”‚          StartPage.js
โ”‚  โ”‚          
โ”‚  โ””โ”€utils
โ”‚          api.js
โ”‚          debounce.js
โ”‚          instanceCheck.js
โ”‚          router.js
โ”‚          storage.js
โ”‚          
โ””โ”€style
        style.css

๐Ÿ™‹โ€โ™€๏ธ์š”๊ตฌ์‚ฌํ•ญ


  • ํ™”๋ฉด ์ขŒ์ธก์— Root Documents๋ฅผ ๋ถˆ๋Ÿฌ์˜ค๋Š” API๋ฅผ ํ†ตํ•ด ๋ฃจํŠธ Documents๋ฅผ ๋ Œ๋”๋งํ•ฉ๋‹ˆ๋‹ค.
    • Root Document๋ฅผ ํด๋ฆญํ•˜๋ฉด ์˜ค๋ฅธ์ชฝ ํŽธ์ง‘๊ธฐ ์˜์—ญ์— ํ•ด๋‹น Document์˜ Content๋ฅผ ๋ Œ๋”๋งํ•ฉ๋‹ˆ๋‹ค.
    • ํ•ด๋‹น Root Document์— ํ•˜์œ„ Document๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ, ํ•ด๋‹น Document ์•„๋ž˜์— ํŠธ๋ฆฌ ํ˜•ํƒœ๋กœ ๋ Œ๋”๋ง ํ•ฉ๋‹ˆ๋‹ค.
    • Document Tree์—์„œ ๊ฐ Document ์šฐ์ธก์—๋Š” + ๋ฒ„ํŠผ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ํ•ด๋‹น ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๋ฉด, ํด๋ฆญํ•œ Document์˜ ํ•˜์œ„ Document๋กœ ์ƒˆ Document๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ํŽธ์ง‘ํ™”๋ฉด์œผ๋กœ ๋„˜๊น๋‹ˆ๋‹ค.
  • ํŽธ์ง‘๊ธฐ์—๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ์ €์žฅ ๋ฒ„ํŠผ์ด ์—†์Šต๋‹ˆ๋‹ค. Document Save API๋ฅผ ์ด์šฉํ•ด ์ง€์†์ ์œผ๋กœ ์„œ๋ฒ„์— ์ €์žฅ๋˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.
  • History API๋ฅผ ์ด์šฉํ•ด SPA ํ˜•ํƒœ๋กœ ๋งŒ๋“ญ๋‹ˆ๋‹ค.
    • ๋ฃจํŠธ URL ์ ‘์† ์‹œ์—” ๋ณ„๋‹ค๋ฅธ ํŽธ์ง‘๊ธฐ ์„ ํƒ์ด ์•ˆ ๋œ ์ƒํƒœ์ž…๋‹ˆ๋‹ค.
    • /documents/{documentId} ๋กœ ์ ‘์†์‹œ, ํ•ด๋‹น Document ์˜ content๋ฅผ ๋ถˆ๋Ÿฌ์™€ ํŽธ์ง‘๊ธฐ์— ๋กœ๋”ฉํ•ฉ๋‹ˆ๋‹ค.
  • ํŽธ์ง‘๊ธฐ ์ตœํ•˜๋‹จ์—๋Š” ํ˜„์žฌ ํŽธ์ง‘ ์ค‘์ธ Document์˜ ํ•˜์œ„ Document ๋งํฌ๋ฅผ ๋ Œ๋”๋งํ•˜๋„๋ก ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ‘ฉโ€๐Ÿ’ป์ฃผ์š” ๊ตฌํ˜„ ๋‚ด์šฉ


  1. ์žฌ๊ท€ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด ํ•˜์œ„๋ฌธ์„œ ๊ตฌํ˜„
    : ์žฌ๊ท€ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๋…ธ์…˜์˜ ํ•˜์œ„๋ฌธ์„œ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„

๋…ธ์…˜ ํ•˜์œ„ ๋ฌธ์„œ ์ƒ์„ฑ

  1. ๊ฒŒ์‹œ๊ธ€ ์ƒ์„ฑ, ์ˆ˜์ •, ๋ฐ ์‚ญ์ œ

๋…ธ์…˜ ๊ธ€ ์ž‘์„ฑ ๋ฐ ์ˆ˜์ •, ์‚ญ์ œ

  1. ํ•˜์œ„ ๊ฒŒ์‹œ๊ธ€ ์ƒ์„ฑ, ์ˆ˜์ • ๋ฐ ์‚ญ์ œ

๋…ธ์…˜ ํ•˜์œ„ ๊ธ€ ์ž‘์„ฑ ๋ฐ ์ˆ˜์ •, ์‚ญ์ œ