Skip to content

Jam1eL1/6-studyforest-phytoncide-FS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Version

๐ŸŒŸ ๋ฌธ์„œ ์ •๋ฆฌ์— ์ง„์‹ฌ์ธํŒ€

[ํŒ€ ํ˜‘์—… ๋ฌธ์„œ ๋ฐ”๋กœ๊ฐ€๊ธฐ] (https://www.notion.so/2-1be5e940de598095a073da7e2f525e98?cookie_sync_completed=true)

๐Ÿ‘ฅ ํŒ€์› ๊ตฌ์„ฑ

์ด์ง€์ˆ˜B [ํŒ€์žฅ] ๊น€ํ™์„ญ ์ดํƒœ๋นˆ ์•ˆ์„ธ๋นˆ ์ž„์ •๋นˆ ์ตœ๋ฏผ๊ฒฝ ๋ฐ•๋ฏผ๊ทœ
GitHub GitHub GitHub GitHub GitHub GitHub GitHub

๐Ÿš€ ํ”„๋กœ์ ํŠธ ์†Œ๊ฐœ

๊ณต๋ถ€์˜ ์ˆฒ

๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด ๋ชฉํ‘œ๋ฅผ ์„ค์ •ํ•˜๊ณ  ๊พธ์ค€ํ•œ ์Šต๊ด€์„ ๋งŒ๋“ค๊ณ  ์‹ถ์–ด ํ•˜์ง€๋งŒ, ์ด๋ฅผ ์ง€์†ํ•˜๋Š” ๊ฒƒ์€ ์‰ฝ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ณต๋ถ€์˜ ์ˆฒ์€ ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์Šต๊ด€์„ ํ˜•์„ฑํ•˜๊ณ , ์ง‘์ค‘ ์‹œ๊ฐ„์— ๋”ฐ๋ผ ํฌ์ธํŠธ๋ฅผ ์ง€๊ธ‰ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค.

์ฃผ์š” ๊ธฐ๋Šฅ

  • ์Šต๊ด€ ํ˜•์„ฑ ๋ฐ ๊ด€๋ฆฌ
  • ์ง‘์ค‘ ์‹œ๊ฐ„์— ๋”ฐ๋ฅธ ํฌ์ธํŠธ ์ง€๊ธ‰
  • ์Šคํ„ฐ๋”” ๊ทธ๋ฃน ํ™œ๋™ ์ง€์›

ํ”„๋กœ์ ํŠธ ๊ธฐ๊ฐ„

  • 2025.03.21 ~ 2025.04.10

โš™ ๊ธฐ์ˆ  ์Šคํƒ

Category Tech Stack
Frontend HTML5 CSS3 JavaScript React React Router
Backend Node.js Express.js PostgreSQL Prisma
Deploy Netlify
Tool Git GitHub npm Nodemon Vite

๐Ÿ”จ ํŒ€์›๋ณ„ ๊ตฌํ˜„ ๊ธฐ๋Šฅ ์ƒ์„ธ

๐ŸŽ‰ ์ด์ง€์ˆ˜B

  • ์Šคํ„ฐ๋”” ์ƒ์„ธ ์กฐํšŒ

    • ์Šคํ„ฐ๋”” ๋ชฉ๋ก ํŽ˜์ด์ง€์—์„œ ๊ฐ ์Šคํ„ฐ๋””๋ฅผ ํด๋ฆญํ•  ๊ฒฝ์šฐ ์Šคํ„ฐ๋”” ์ƒ์„ธ ์กฐํšŒ๊ฐ€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

    • ์Šต๊ด€ ๊ธฐ๋กํ‘œ๋Š” ์˜ค๋Š˜์˜ ์Šต๊ด€์—์„œ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    • ์Šต๊ด€ ๊ธฐ๋กํ‘œ์— ์ผ์ฃผ์ผ ๋‹จ์œ„๋กœ ์œ ์ €๊ฐ€ ์™„๋ฃŒํ•˜๊ฑฐ๋‚˜ ์™„๋ฃŒํ•˜์ง€ ์•Š์€ ์Šต๊ด€์„ ๋ถˆ๋Ÿฌ์™€ ์™„๋ฃŒ๋œ ๊ฒฝ์šฐ์—๋Š” ์ƒ‰๊น” ์Šคํ‹ฐ์ปค๋กœ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.

  • ํŠน์ • ์Šคํ„ฐ๋”” ์‚ญ์ œ

    • ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•˜์—ฌ ์Šคํ„ฐ๋”” ๋“ฑ๋ก ์‹œ ์ž…๋ ฅํ–ˆ๋˜ ๋น„๋ฐ€๋ฒˆํ˜ธ์™€ ์ผ์น˜ํ•  ๊ฒฝ์šฐ, ์Šคํ„ฐ๋”” ์‚ญ์ œ๊ฐ€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
  • ๊ณต์šฉ ๋น„๋ฐ€๋ฒˆํ˜ธ ๊ฒ€์ฆ ๋ชจ๋‹ฌ ๊ตฌํ˜„

    • ์Šคํ„ฐ๋”” ์‚ญ์ œ, ์ˆ˜์ •, ์˜ค๋Š˜์˜ ์ง‘์ค‘, ์˜ค๋Š˜์˜ ์Šต๊ด€ ๊ธฐ๋Šฅ์—์„œ ๊ณตํ†ต์œผ๋กœ ์š”๊ตฌํ•˜๋Š” ๋น„๋ฐ€๋ฒˆํ˜ธ ๊ฒ€์ฆ ๋ชจ๋‹ฌ์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

๐Ÿ‘‘ ๊น€ํ™์„ญ

  • ํŠน์ • ์Šคํ„ฐ๋”” ์ˆ˜์ •

    • ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•˜์—ฌ ์Šคํ„ฐ๋”” ๋“ฑ๋ก ์‹œ ์ž…๋ ฅํ–ˆ๋˜ ๋น„๋ฐ€๋ฒˆํ˜ธ์™€ ์ผ์น˜ํ•  ๊ฒฝ์šฐ, ์Šคํ„ฐ๋”” ์ˆ˜์ • ํผ์œผ๋กœ ์ด๋™ํ•˜๋ฉฐ, ์Šคํ„ฐ๋”” ์ƒ์„ธ์ •๋ณด๋ฅผ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์‘์› ์ด๋ชจ์ง€ ์ถ”๊ฐ€

    • ์Šคํ„ฐ๋”” ์ƒ์„ธ ํŽ˜์ด์ง€๋ฅผ ์กฐํšŒํ•  ๋•Œ ์Šคํ„ฐ๋””์— ์ €์žฅ๋œ ์‘์› ์ด๋ชจ์ง€๋ฅผ ๋ถˆ๋Ÿฌ์˜ค๊ณ , ์ด๋ชจ์ง€๋ฅผ ์ถ”๊ฐ€๋กœ ๋‚จ๊ธฐ๊ฑฐ๋‚˜ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ† ์ดํƒœ๋นˆ

  • ์˜ค๋Š˜์˜ ์ง‘์ค‘ ์‹œ์ž‘
    • ํƒ€์ด๋จธ๋กœ ๊ณต๋ถ€ ์‹œ๊ฐ„์„ ์„ค์ •ํ•˜๊ณ , ์‹œ์ž‘ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•ด ์˜ค๋Š˜์˜ ์ง‘์ค‘ ์‹œ์ž‘์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
  • ์˜ค๋Š˜์˜ ์ง‘์ค‘ ์™„๋ฃŒ
    • ์„ค์ •ํ•œ ๊ณต๋ถ€์‹œ๊ฐ„์ด ์ข…๋ฃŒ๋˜๋ฉด, ์ง‘์ค‘์ด ์™„๋ฃŒ๋ฉ๋‹ˆ๋‹ค.
    • ์ง‘์ค‘ ์„ฑ๊ณต ์‹œ ๊ธฐ๋ณธ 3ํฌ์ธํŠธ๋ฅผ ํš๋“ํ•˜๊ณ , ์„ค์ •ํ•œ ๊ณต๋ถ€์‹œ๊ฐ„ 10๋ถ„๋‹น ์ถ”๊ฐ€ 1ํฌ์ธํŠธ๋ฅผ ๋ฐ›์Šต๋‹ˆ๋‹ค.

๐Ÿ”ฎ ์•ˆ์„ธ๋นˆ

  • ์˜ค๋Š˜์˜ ์Šต๊ด€ ์กฐํšŒ
    • ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•˜์—ฌ ์Šคํ„ฐ๋”” ๋“ฑ๋ก ์‹œ ์ž…๋ ฅํ–ˆ๋˜ ๋น„๋ฐ€๋ฒˆํ˜ธ์™€ ์ผ์น˜ํ•  ๊ฒฝ์šฐ, ์˜ค๋Š˜์˜ ์Šต๊ด€ ์กฐํšŒ๊ฐ€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
    • ํ˜„์žฌ ์‹œ๊ฐ„, ์˜ค๋Š˜์˜ ์Šต๊ด€ ๋ชฉ๋ก์ด ์กฐํšŒ๋ฉ๋‹ˆ๋‹ค.
    • ์˜ค๋Š˜์˜ ์ง‘์ค‘ ๋ฐ ํ™ˆ ๋ฒ„ํŠผ์„ ํ†ตํ•ด ์˜ค๋Š˜์˜ ์ง‘์ค‘ ํŽ˜์ด์ง€ ๋ฐ ์Šคํ„ฐ๋”” ํ™ˆ์œผ๋กœ ๋‚˜๊ฐˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์˜ค๋Š˜์˜ ์Šต๊ด€ ์ƒ์„ฑ
    • ๋งค์ผ ๋ฐ˜๋ณต๋  ์Šต๊ด€์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

๐ŸŽฏ ์ž„์ •๋นˆ

  • ์Šคํ„ฐ๋”” ์ƒ์„ฑ
    • ๋‹‰๋„ค์ž„, ์Šคํ„ฐ๋”” ์ด๋ฆ„, ์Šคํ„ฐ๋””์— ๋Œ€ํ•œ ๊ฐ„๋‹จํ•œ ์†Œ๊ฐœ, ๋ฐฐ๊ฒฝ ์„ ํƒ, ๋น„๋ฐ€๋ฒˆํ˜ธ ๋ฐ ๋น„๋ฐ€๋ฒˆํ˜ธ ํ™•์ธ์„ ์ž…๋ ฅํ•˜์—ฌ ์Šคํ„ฐ๋””๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  • ์˜ค๋Š˜์˜ ์ง‘์ค‘ ์กฐํšŒ
    • ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•˜์—ฌ ์Šคํ„ฐ๋”” ๋“ฑ๋ก ์‹œ ์ž…๋ ฅํ–ˆ๋˜ ๋น„๋ฐ€๋ฒˆํ˜ธ์™€ ์ผ์น˜ํ•  ๊ฒฝ์šฐ, ์˜ค๋Š˜์˜ ์ง‘์ค‘ ํŽ˜์ด์ง€ ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
    • ํ˜„์žฌ๊นŒ์ง€ ํš๋“ํ•œ ํฌ์ธํŠธ ์กฐํšŒ, ํƒ€์ด๋จธ ์กฐ์ž‘์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

โœจ ์ตœ๋ฏผ๊ฒฝ

  • ์˜ค๋Š˜์˜ ์Šต๊ด€ ์ˆ˜์ •

    • ์˜ค๋Š˜์˜ ์Šต๊ด€ ์ด๋ฆ„์„ ์ˆ˜์ •ํ•  ๊ฒฝ์šฐ, ์ด์ „์— ์—ฐ๊ด€๋œ ๋ชจ๋“  ์Šต๊ด€์˜ ์ด๋ฆ„์ด ๋ณ€๊ฒฝ๋ฉ๋‹ˆ๋‹ค.
    • ์˜ค๋Š˜์˜ ์Šต๊ด€์„ ์ข…๋ฃŒํ•  ๊ฒฝ์šฐ, ์˜ค๋Š˜๋ถ€ํ„ฐ ์Šต๊ด€์ด ์ข…๋ฃŒ๋˜๋ฉฐ, ์ด์ „ ๊ธฐ๋ก์—๋Š” ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
    • ์ƒˆ๋กœ์šด ์Šต๊ด€ ์ถ”๊ฐ€ํ•  ๊ฒฝ์šฐ, ์˜ค๋Š˜๋ถ€ํ„ฐ ์ƒˆ๋กœ์šด ์Šต๊ด€์ด ์ถ”๊ฐ€๋˜๋ฉฐ, ์ด์ „ ๋‚ ์งœ์˜ ์Šคํ„ฐ๋”” ์ƒ์„ธ ์กฐํšŒ์—์„œ๋Š” ํ‘œ์‹œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • ์˜ค๋Š˜์˜ ์Šต๊ด€ ์ฒดํฌ

    • ์ง€ํ‚จ ์Šต๊ด€์„ ์ฒดํฌํ•˜๊ฑฐ๋‚˜ ํ•ด์ œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฒดํฌ ์—ฌ๋ถ€๋Š” ๋งค์ผ ์ดˆ๊ธฐํ™”๋ฉ๋‹ˆ๋‹ค.
    • ์ฒดํฌํ•œ ์Šต๊ด€์€ ์Šคํ„ฐ๋”” ์ƒ์„ธ ํŽ˜์ด์ง€์˜ ์Šต๊ด€ ๊ธฐ๋กํ‘œ์— ๊ธฐ๋ก๋ฉ๋‹ˆ๋‹ค. ์Šต๊ด€ ๊ธฐ๋กํ‘œ์—์„œ๋Š” ์ผ์ฃผ์ผ ๋‹จ์œ„๋กœ ์Šต๊ด€ ๊ธฐ๋ก์„ ์กฐํšŒํšŒํ• ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ’Ž ๋ฐ•๋ฏผ๊ทœ

๐Ÿ”ง ๊ตฌํ˜„ํ•œ ์ฃผ์š” ๊ธฐ๋Šฅ

๐Ÿ“ ์ „์ฒด ๋ ˆ์ด์•„์›ƒ ๊ตฌ์„ฑ ๋ฐ ๋ฐ˜์‘ํ˜• ๋””์ž์ธ
  • TailwindCSS ๊ธฐ๋ฐ˜์œผ๋กœ ๋ ˆ์ด์•„์›ƒ์„ ์œ ์—ฐํ•˜๊ฒŒ ๊ตฌ์„ฑ
  • ๋ชจ๋ฐ”์ผ, ํƒœ๋ธ”๋ฆฟ, ๋ฐ์Šคํฌํƒ‘ ํ•ด์ƒ๋„์— ๋งž์ถ˜ ๋ฐ˜์‘ํ˜• ๋””์ž์ธ ์ ์šฉ
๐Ÿงฑ ๊ณตํ†ต ๋ ˆ์ด์•„์›ƒ ์ปดํฌ๋„ŒํŠธ ๊ตฌํ˜„
  • ๊ณตํ†ต Header ๋ฐ Footer ์ปดํฌ๋„ŒํŠธ ์„ค๊ณ„ ๋ฐ ์ ์šฉ
  • ๋ผ์šฐํŒ… ๊ฒฝ๋กœ์— ๋”ฐ๋ผ ๋ฉ”๋‰ด ๋ฐ ์Šคํƒ€์ผ ๋™์  ์ œ์–ด
๐Ÿ“š ์Šคํ„ฐ๋”” ๋ชฉ๋ก ์กฐํšŒ ๊ธฐ๋Šฅ
  • ์ „์ฒด ์Šคํ„ฐ๋”” ๋ฆฌ์ŠคํŠธ API ์—ฐ๋™ ๋ฐ ๋ Œ๋”๋ง
  • ํŽ˜์ด์ง€๋„ค์ด์…˜ ๊ธฐ๋Šฅ ์ถ”๊ฐ€
  • ๊ฒ€์ƒ‰ ๋ฐ ์ •๋ ฌ ๊ธฐ๋Šฅ ์ œ๊ณต:
    • ๐Ÿ” ํ‚ค์›Œ๋“œ ๊ธฐ๋ฐ˜ ๊ฒ€์ƒ‰
    • ๐Ÿ”ผ๐Ÿ”ฝ ํฌ์ธํŠธ ์ˆœ ์ •๋ ฌ (์˜ค๋ฆ„์ฐจ์ˆœ / ๋‚ด๋ฆผ์ฐจ์ˆœ)
    • ๐Ÿ•’ ์ตœ์‹  ์ˆœ / ์˜ค๋ž˜๋œ ์ˆœ ์ •๋ ฌ
๐Ÿ•ต๏ธโ€โ™‚๏ธ ์ตœ๊ทผ ๋ณธ ์Šคํ„ฐ๋”” ํ‘œ์‹œ
  • LocalStorage๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์‚ฌ์šฉ์ž๊ฐ€ ์ตœ๊ทผ์— ์กฐํšŒํ•œ ์Šคํ„ฐ๋”” ์ •๋ณด๋ฅผ ์ €์žฅ
  • ํ™ˆ ํ™”๋ฉด ๋˜๋Š” ๋ณ„๋„ ์„น์…˜์—์„œ ์ตœ๊ทผ ๋ณธ ์Šคํ„ฐ๋””๋ฅผ ์‹œ๊ฐ์ ์œผ๋กœ ์ œ๊ณต

๐Ÿ’ก UX ๊ฐœ์„  ์‚ฌํ•ญ

โณ ClipLoader ๊ธฐ๋ฐ˜ ๋กœ๋”ฉ ๋ฐ” ์ ์šฉ
  • isLoading ์ƒํƒœ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ ๋กœ๋”ฉ ์‹œ ๋กœ๋”ฉ ์Šคํ”ผ๋„ˆ(ClipLoader) ํ‘œ์‹œ
  • ์‚ฌ์šฉ์ž ํ”ผ๋“œ๋ฐฑ ๊ฐ•ํ™”๋ฅผ ํ†ตํ•œ UX ํ–ฅ์ƒ
๐ŸŽจ ์ธํ„ฐ๋ž™์…˜ ์š”์†Œ ๊ฐ•ํ™”
  • ๋””์ž์ธ ์‹œ์•ˆ์—๋Š” ์—†์ง€๋งŒ ์นด๋“œ hover ์‹œ y๊ฐ’ ์ด๋™ ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ถ”๊ฐ€๋กœ ์—ญ๋™์„ฑ ๊ฐ•ํ™”
  • ๋ชจ๋ฐ”์ผ ํ™˜๊ฒฝ์—์„œ๋Š” ํ„ฐ์น˜ ์‹œ ์นด๋“œ ๋ฐฐ๊ฒฝ opacity ๋ณ€๊ฒฝ์œผ๋กœ ๋ช…ํ™•ํ•œ ํ”ผ๋“œ๋ฐฑ ์ œ๊ณต
๐Ÿš€ Prisma Raw Query๋ฅผ ํ™œ์šฉํ•œ ๊ฒ€์ƒ‰ ์ตœ์ ํ™”
  • ๊ธฐ์กด .findMany ๋Œ€์‹  Prisma.rawQuery๋ฅผ ํ™œ์šฉํ•˜์—ฌ SQL ์ˆ˜์ค€์˜ ๊ฒ€์ƒ‰ ๋กœ์ง ๊ตฌํ˜„
  • ๋ถˆํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ ๋กœ๋”ฉ ์ตœ์†Œํ™”๋กœ ์„ฑ๋Šฅ ์ตœ์ ํ™”
  • ๊ณต๋ฐฑ๊ฐ’ ์ž…๋ ฅ์‹œ ์กฐํšŒ๊ฐ€ ์ž˜ ์•ˆ๋˜๋Š” ๋ฌธ์ œ ํ•ด๊ฒฐ

๐Ÿ“ ํŒŒ์ผ ๊ตฌ์กฐ

Front-end

frontend/
โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ api/            # API ํ˜ธ์ถœ ๊ด€๋ จ ํ•จ์ˆ˜
โ”‚   โ”œโ”€โ”€ components/     # ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ปดํฌ๋„ŒํŠธ
โ”‚   โ”œโ”€โ”€ contexts/       # React Context API ๊ด€๋ จ ํŒŒ์ผ
โ”‚   โ”œโ”€โ”€ hooks/          # ์ปค์Šคํ…€ ํ›…
โ”‚   โ”œโ”€โ”€ layout/         # ๋ ˆ์ด์•„์›ƒ ๊ด€๋ จ ์ปดํฌ๋„ŒํŠธ
โ”‚   โ”œโ”€โ”€ pages/          # ํŽ˜์ด์ง€ ์ปดํฌ๋„ŒํŠธ
โ”‚   โ”œโ”€โ”€ styles/         # ์Šคํƒ€์ผ ํŒŒ์ผ
โ”‚   โ”œโ”€โ”€ utils/          # ์œ ํ‹ธ๋ฆฌํ‹ฐ ํ•จ์ˆ˜
โ”‚   โ”œโ”€โ”€ App.jsx         # ๋ฉ”์ธ ์•ฑ ์ปดํฌ๋„ŒํŠธ
โ”‚   โ””โ”€โ”€ main.jsx        # ์•ฑ ์ง„์ž…์ 
โ”œโ”€โ”€ public/             # ์ •์  ํŒŒ์ผ
โ”‚   โ”œโ”€โ”€ font/           # ํฐํŠธ ํŒŒ์ผ
โ”‚   โ”œโ”€โ”€ images/         # ์ด๋ฏธ์ง€ ํŒŒ์ผ
โ”‚   โ””โ”€โ”€ _redirects      # Netlify ๋ฆฌ๋‹ค์ด๋ ‰ํŠธ ์„ค์ •
โ”œโ”€โ”€ index.html          # HTML ํ…œํ”Œ๋ฆฟ
โ”œโ”€โ”€ vite.config.js      # Vite ์„ค์ •
โ”œโ”€โ”€ eslint.config.js    # ESLint ์„ค์ •
โ”œโ”€โ”€ package.json        # ํ”„๋กœ์ ํŠธ ์„ค์ • ๋ฐ ์˜์กด์„ฑ
โ””โ”€โ”€ README.md           # ํ”„๋กœ์ ํŠธ ์„ค๋ช…์„œ

Back-end

backend/
โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ app.js              # ์•ฑ ์ง„์ž…์ 
โ”‚   โ”œโ”€โ”€ db/                 # ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ จ ํŒŒ์ผ
โ”‚   โ”‚   โ””โ”€โ”€ prisma/         # Prisma ORM ์„ค์ • ๋ฐ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜
โ”‚   โ”‚       โ”œโ”€โ”€ client.prisma.js    # Prisma ํด๋ผ์ด์–ธํŠธ
โ”‚   โ”‚       โ”œโ”€โ”€ migrations/         # ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ํŒŒ์ผ
โ”‚   โ”‚       โ””โ”€โ”€ schema.prisma       # Prisma ์Šคํ‚ค๋งˆ ์ •์˜
โ”‚   โ”œโ”€โ”€ middlewares/        # ๋ฏธ๋“ค์›จ์–ด
โ”‚   โ”‚   โ””โ”€โ”€ errorHandler.module.js  # ์—๋Ÿฌ ์ฒ˜๋ฆฌ ๋ฏธ๋“ค์›จ์–ด
โ”‚   โ””โ”€โ”€ modules/            # ๊ธฐ๋Šฅ๋ณ„ ๋ชจ๋“ˆ
โ”‚       โ”œโ”€โ”€ healthCheck.module.js   # ํ—ฌ์Šค ์ฒดํฌ ๋ชจ๋“ˆ
โ”‚       โ”œโ”€โ”€ index.module.js         # ๋ชจ๋“ˆ ์ธ๋ฑ์Šค
โ”‚       โ””โ”€โ”€ route/                  # ๋ผ์šฐํŠธ ๋ชจ๋“ˆ
โ”‚           โ”œโ”€โ”€ focus.module.js     # ์ง‘์ค‘ ๊ด€๋ จ ๋ผ์šฐํŠธ
โ”‚           โ”œโ”€โ”€ habits.module.js    # ์Šต๊ด€ ๊ด€๋ จ ๋ผ์šฐํŠธ
โ”‚           โ””โ”€โ”€ studies.module.js   # ์Šคํ„ฐ๋”” ๊ด€๋ จ ๋ผ์šฐํŠธ
โ”œโ”€โ”€ package.json            # ํ”„๋กœ์ ํŠธ ์„ค์ • ๋ฐ ์˜์กด์„ฑ
โ”œโ”€โ”€ package-lock.json       # ์˜์กด์„ฑ ์ž ๊ธˆ ํŒŒ์ผ
โ””โ”€โ”€ README.md               # ํ”„๋กœ์ ํŠธ ์„ค๋ช…์„œ

๊ตฌํ˜„ ํ™ˆํŽ˜์ด์ง€

(https://6-studyforest-phytoncide-fs.netlify.app/)


ํ”„๋กœ์ ํŠธ ํšŒ๊ณ ๋ก

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 7