diff --git a/README.md b/README.md index d942ad0..5912dfb 100644 --- a/README.md +++ b/README.md @@ -1,37 +1,340 @@ -This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app). +# ๐Ÿ“™๐Ÿ“„ WekitBucket ๐Ÿ‘จโ€๐Ÿ’ป๐Ÿ˜Ž -## Getting Started +์ฝ”๋“œ์ž‡ ์Šคํ”„๋ฆฐํŠธ 6๊ธฐ Part 3 ๊ณผ์ •์—์„œ 8ํŒ€์ด ์ง„ํ–‰ํ•œ ์ค‘๊ธ‰ ํ”„๋กœ์ ํŠธ **WekitBucket** ๋ ˆํฌ์ง€ํ† ๋ฆฌ +
-First, run the development server: +## ๐Ÿ”— ๋ฐฐํฌ ์ฃผ์†Œ -```bash -npm run dev -# or -yarn dev -# or -pnpm dev -# or -bun dev +https://wekit-bucket.vercel.app +
+ +## ๐Ÿ”— ๋ฐœํ‘œ ์ž๋ฃŒ + +https://www.canva.com/design/DAGKHfn-U0Y/HhE-GjRBlfJns68CXuD5Xg/edit +
+ +## ๐Ÿƒํ”„๋กœ์ ํŠธ ์†Œ๊ฐœ + +**์นœ๊ตฌ๋“ค์˜ ์ •๋ณด๋ฅผ ์ €์žฅํ•˜๊ณ  ๋งŒ๋“œ๋Š” ๊ณต๊ฐ„ WekitBucket** + +- ์นœ๊ตฌ๋“ค์ด ๋ณด๋Š” ๋‚˜๋Š” ์–ด๋–จ๊นŒ๋ผ๋Š” ์ฃผ์ œ๋กœ ํ•จ๊ป˜ ๋งŒ๋“ค์–ด๊ฐ€๋Š” ๋‚˜์˜ ์œ„ํ‚ค ํŽ˜์ด์ง€ +- ์ž์œ ๊ฒŒ์‹œํŒ์„ ํ™œ์šฉํ•˜์—ฌ ์นœ๊ตฌ๋ฅผ ์ฐพ๊ณ  ์†Œํ†ตํ•  ์ˆ˜ ์žˆ๋Š” ํŽ˜์ด์ง€ + +[](https://wekit-bucket.vercel.app/) +[](https://wekit-bucket.vercel.app/wikilist) +[](https://wekit-bucket.vercel.app/wiki/080ac549-4709-4a25-b033-53fa80083b4e) +[](https://wekit-bucket.vercel.app/boards) + +
+ +## ๐Ÿ“Œ ์ฃผ์š” ๊ธฐ๋Šฅ + +- **ํ—ค๋”** + + - ๋กœ๊ณ  ํด๋ฆญ ์‹œ, ๋งˆ์ดํŽ˜์ด์ง€๋กœ ์ด๋™ + - ์œ„ํ‚ค ๋ชฉ๋ก ํด๋ฆญ ์‹œ, ์œ„ํ‚ค ๋ชฉ๋ก ํŽ˜์ด์ง€๋กœ ์ด๋™ + - ์ž์œ ๊ฒŒ์‹œํŒ ํด๋ฆญ ์‹œ, ์ž์œ ๊ฒŒ์‹œํŒ ํŽ˜์ด์ง€๋กœ ์ด๋™ + - ๋กœ๊ทธ์ธ์ด ๋˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ, ๋กœ๊ทธ์ธ ํ‘œ์‹œ + - ๋กœ๊ทธ์ธ์ด ๋˜์–ด ์žˆ๋Š” ๊ฒฝ์šฐ, ์•Œ๋žŒ ๋ฐ ์‚ฌ์šฉ์ž ํ”„๋กœํ•„ ์ •๋ณด ํ‘œ์‹œ +

+
+ +- **๋žœ๋”ฉ ํŽ˜์ด์ง€** + + - ์ดˆ๊ธฐ ์‹œ์ž‘ ํŽ˜์ด์ง€ +

+ +
+ +- **์œ„ํ‚ค ๋ชฉ๋ก ํŽ˜์ด์ง€** + + - ๋‚ด์šฉ + + - **ํ† ์ŠคํŠธ ์ฐฝ** + + - ๋‚ด์šฉ + + - **๋‚ด ์œ„ํ‚ค ํŽ˜์ด์ง€** + + - ๋‚ด์šฉ +

+
+ + - **์งˆ๋ฌธ ๋“ฑ๋ก ํŽ˜์ด์ง€** + + - ๋‚ด์šฉ +

+
+ + - **์ˆ˜์ • ํŽ˜์ด์ง€** + - ๋‚ด์šฉ +

+
+ +- **์ž์œ ๊ฒŒ์‹œํŒ ํŽ˜์ด์ง€** + - ๋‚ด์šฉ +

+
+ +## โš’๏ธ ๊ฐœ๋ฐœ ์ผ์ • + +**โŒ›2024.06.21 (๊ธˆ) ~ 2024.07.19 (ํ™”)** + + + +
+ +## ๐Ÿ“ ํ”„๋กœ์ ํŠธ ๊ธฐ๊ฐ„ ์ค‘ ์ˆ˜ํ–‰ ๋‚ด์šฉ + +``` +1. ์‚ฌ์šฉ ๊ธฐ์ˆ  ์Šคํƒ ์„ ์ • ๋ฐ ๊ฐœ๋ฐœ ์ผ์ • ๋…ผ์˜ +2. ํ”„๋กœ์ ํŠธ ๊ด€๋ จ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ์…‹์—… +3. ์—ญํ•  ๋ถ„๋‹ด +4. ํ”„๋กœ์ ํŠธ ๊ตฌํ˜„ + - ๊ณตํ†ต ์‚ฌ์šฉ ์ปดํฌ๋„ŒํŠธ ์—ญํ•  ๋ถ„๋ฐฐ + - ํŽ˜์ด์ง€ ๋‹จ์œ„ ์—ญํ•  ๋ถ„๋ฐฐ + - ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐ API ์—ฐ๋™ +5. ๋ฐœํ‘œ ๋ฐ ์ž๋ฃŒ ์ค€๋น„ +6. ๋ฆฌํŒฉํ† ๋ง ๋ฐ ๋ฌธ์„œํ™” +``` + +
+ +## ๐Ÿ‘ฉ๐Ÿปโ€๐Ÿ’ป ํŒ€์› ์†Œ๊ฐœ + +
+ +| **๊น€๋ฏผ์žฌ** | **๊น€์˜์šด** | **์ด์ข…์šฑ** | **์ด์€๋นˆ** | **์œ ์˜ˆํ•˜** | +| :---------------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------------: | +| [
@PixeIDark](https://github.com/PixeIDark) | [
@YoungUnKim](https://github.com/YoungUnKim) | [
@bersk3r](https://github.com/bersk3r) | [
@eunbinnie](https://github.com/eunbinnie) | [
@YehaYoo](https://github.com/YehaYoo) | + +
+ +
+ +## ๐Ÿค ์—ญํ•  ๋ถ„๋‹ด + +
+ + **๊น€๋ฏผ์žฌ** + +- ํ”„๋กœ์ ํŠธ ์ดˆ๊ธฐ ์„ธํŒ… ๋‹ด๋‹น +- API ๋ฐ ์œ ํ‹ธ ๋‹ด๋‹น +- ์œ„ํ‚ค ๋ชฉ๋ก ํŽ˜์ด์ง€ ๋‹ด๋‹น +- ํ”„๋กœ์ ํŠธ ๋ฐœํ‘œ ๋‹ด๋‹น + +
+ + **๊น€์˜์šด** + +- ํšŒ์›๊ฐ€์ž… ํŽ˜์ด์ง€ ๋‹ด๋‹น +- ๋น„๋ฐ€๋ฒˆํ˜ธ ๋ณ€๊ฒฝ ํŽ˜์ด์ง€ ๋‹ด๋‹น +- ์œ„ํ‚ค ๋งŒ๋“ค๊ธฐ ํŽ˜์ด์ง€ ๋‹ด๋‹น +- ๋‚ด ์œ„ํ‚ค ํŽ˜์ด์ง€ ๋‹ด๋‹น + +
+ + **์ด์ข…์šฑ** + +- ํ—ค๋”, ํ† ์ŠคํŠธ, ์•Œ๋žŒ ์ปดํฌ๋„ŒํŠธ ์ œ์ž‘ +- ์‚ฌ์šฉ์ž, ์•Œ๋žŒ, ํ† ์ŠคํŠธ ์ „์—ญ ์ปจํ…์ŠคํŠธ ๋‹ด๋‹น +- ๋ฐฐํฌ ๋ฐ ์ž๋™ํ™” ์ž‘์—… ๋‹ด๋‹น +- README ํŒŒ์ผ ๋‹ด๋‹น + +
+ + **์ด์€๋นˆ** + +- ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ๋‹ด๋‹น +- ์ž์œ ๊ฒŒ์‹œํŒ ํŽ˜์ด์ง€ ๋ฐ 404 ํŽ˜์ด์ง€ ๋‹ด๋‹น +- ๊ฒŒ์‹œ๊ธ€ ์ƒ์„ธ ํŽ˜์ด์ง€ ๋‹ด๋‹น +- ์• ๋‹ˆ๋ฉ”์ด์…˜ ํšจ๊ณผ ์ ์šฉ ๋‹ด๋‹น + +
+ + **์œ ์˜ˆํ•˜** + +- ๋žœ๋”ฉ ํŽ˜์ด์ง€ ๋‹ด๋‹น +- ๊ฒŒ์‹œ๊ธ€ ๋“ฑ๋ก ํŽ˜์ด์ง€ ๋‹ด๋‹น +- ๊ฒŒ์‹œ๊ธ€ ์ˆ˜์ • ํŽ˜์ด์ง€ ๋‹ด๋‹น +- ํ”„๋กœ์ ํŠธ ๋ฐœํ‘œ ์ž๋ฃŒ ์ค€๋น„ ๋ฐ ์‹œ์—ฐ ์˜์ƒ ์ œ์ž‘ ๋‹ด๋‹น + +
+ +## ๐Ÿ’ป ๊ธฐ์ˆ  ์Šคํƒ + +- ### Environment + +
+ + + +
+
+ +- ### Config + +
+ + + + +
+
+ +- ### Development + +
+ + + + + +
+ + + + + +
+
+ +- ### Deploy + +
+ +
+
+ +- ### CI / CD + +
+ +
+
+ +- ### Collaboration Tools +
+ +
+
+ +## ๐Ÿ—‚๏ธ ํด๋” ๊ตฌ์กฐ + +** **WekitBucket**** + +``` +๐Ÿ“ฆsrc + โ”ฃ ๐Ÿ“‚apis + โ”ƒ โ”ฃ ๐Ÿ“‚article + โ”ƒ โ”ฃ ๐Ÿ“‚auth + โ”ƒ โ”ฃ ๐Ÿ“‚comment + โ”ƒ โ”ฃ ๐Ÿ“‚image + โ”ƒ โ”ฃ ๐Ÿ“‚notification + โ”ƒ โ”ฃ ๐Ÿ“‚profile + โ”ƒ โ”— ๐Ÿ“‚user + โ”ฃ ๐Ÿ“‚app + โ”ƒ โ”ฃ ๐Ÿ“‚(auth) + โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚login + โ”ƒ โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚_components + โ”ƒ โ”ƒ โ”ƒ โ”— ๐Ÿ“œpage.tsx + โ”ƒ โ”ƒ โ”— ๐Ÿ“‚signup + โ”ƒ โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚_components + โ”ƒ โ”ƒ โ”ƒ โ”— ๐Ÿ“œpage.tsx + โ”ƒ โ”ฃ ๐Ÿ“‚(boards) + โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚addboard + โ”ƒ โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚[id] + โ”ƒ โ”ƒ โ”ƒ โ”ƒ โ”— ๐Ÿ“œpage.tsx + โ”ƒ โ”ƒ โ”— ๐Ÿ“‚boards + โ”ƒ โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚components + โ”ƒ โ”ƒ โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚allArticles + โ”ƒ โ”ƒ โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚bestArticles + โ”ƒ โ”ƒ โ”ƒ โ”ƒ โ”— ๐Ÿ“‚search + โ”ƒ โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚[id] + โ”ƒ โ”ƒ โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚components + โ”ƒ โ”ƒ โ”ƒ โ”ƒ โ”— ๐Ÿ“œpage.tsx + โ”ƒ โ”ƒ โ”ƒ โ”— ๐Ÿ“œpage.tsx + โ”ƒ โ”ฃ ๐Ÿ“‚(mypage) + โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚changepassword + โ”ƒ โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚_components + โ”ƒ โ”ƒ โ”ƒ โ”— ๐Ÿ“œpage.tsx + โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚makewiki + โ”ƒ โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚_components + โ”ƒ โ”ƒ โ”ƒ โ”— ๐Ÿ“œpage.tsx + โ”ƒ โ”ฃ ๐Ÿ“‚(wiki) + โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚wiki + โ”ƒ โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚[code] + โ”ƒ โ”ƒ โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚components + โ”ƒ โ”ƒ โ”ƒ โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚Common + โ”ƒ โ”ƒ โ”ƒ โ”ƒ โ”ƒ โ”ƒ โ”— ๐Ÿ“‚lottie + โ”ƒ โ”ƒ โ”ƒ โ”ƒ โ”ƒ โ”— ๐Ÿ“‚Profile + โ”ƒ โ”ƒ โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚_constants + โ”ƒ โ”ƒ โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚_hook + โ”ƒ โ”ƒ โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚_style + โ”ƒ โ”ƒ โ”ƒ โ”ƒ โ”— ๐Ÿ“œpage.tsx + โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚wikilist + โ”ƒ โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚_components + โ”ƒ โ”ƒ โ”ƒ โ”— ๐Ÿ“œpage.tsx + โ”ƒ โ”ฃ ๐Ÿ“‚test + โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚_components + โ”ƒ โ”ƒ โ”— ๐Ÿ“œpage.tsx + โ”ƒ โ”ฃ ๐Ÿ“‚_components + โ”ƒ โ”ƒ โ”ฃ ๐Ÿ“‚Landing + โ”ƒ โ”ƒ โ”— ๐Ÿ“‚_Header + โ”ƒ โ”ฃ ๐Ÿ“œlayout.tsx + โ”ƒ โ”ฃ ๐Ÿ“œpage.tsx + โ”ƒ โ”— ๐Ÿ“œtemplate.tsx + โ”ฃ ๐Ÿ“‚assets + โ”ƒ โ”ฃ ๐Ÿ“‚fonts + โ”ƒ โ”ƒ โ”— ๐Ÿ“‚pretendard + โ”ƒ โ”ฃ ๐Ÿ“‚icons + โ”ƒ โ”ฃ ๐Ÿ“‚images + โ”ƒ โ”— ๐Ÿ“œindex.ts + โ”ฃ ๐Ÿ“‚components + โ”ฃ ๐Ÿ“‚context + โ”ฃ ๐Ÿ“‚hooks + โ”ฃ ๐Ÿ“‚styles + โ”ฃ ๐Ÿ“‚types + โ”— ๐Ÿ“‚utils ``` -Open [http://localhost:3000](http://localhost:3000) with your browser to see the result. +
+ +## ๐ŸŒฒ ๊นƒ ๋ธŒ๋žœ์น˜ ์ „๋žต (Trunk-Based ์ „๋žต) + +1. main ๋ธŒ๋žœ์น˜์—์„œ ๊ธฐ๋ฐ˜์œผ๋กœ ๋กœ์ปฌ์—์„œ ๋ธŒ๋žœ์น˜ ์ƒ์„ฑ +2. ๋กœ์ปฌ์—์„œ ์ž‘์—…์ด ์™„๋ฃŒ ํ›„, pull Request ์ž‘์„ฑ + - main ๋ธŒ๋žœ์น˜์— ๋ณ€๋™ ์‚ฌํ•ญ์ด ์žˆ์œผ๋ฉด ์ž‘์—…ํ•˜๊ณ  ์žˆ๋Š” ์ฝ”๋“œ์— ๋ฐ˜์˜ ํ›„ push ์ง„ํ–‰ + - Conflict๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด, ์ถฉ๋Œ์ด ๋ฐœ์ƒ๋œ ๋ถ€๋ถ„์„ Resolve ํ•œ ํ›„์— merge ์ง„ํ–‰ +3. Pull Request์— ๋Œ€ํ•œ merge๋ฅผ ์ง„ํ–‰ํ•˜๋Š” ๊ฒฝ์šฐ, ๋ฆฌ๋ทฐ์–ด๋กœ ์„ค์ •๋œ ํŒ€์› ์ค‘
+ - 2๋ช… ์ด์ƒ์˜ ์Šน์ธ์ด ์™„๋ฃŒ๋˜๋ฉด ์ž‘์„ฑ์ž๊ฐ€ ์ง์ ‘ merge๋ฅผ ๋ˆŒ๋Ÿฌ main ๋ธŒ๋žœ์น˜๋กœ ๋ณ‘ํ•ฉ. + - merge ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜์—ฌ, ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ปค๋ฐ‹์„ ํ•˜๋‚˜์˜ ์ปค๋ฐ‹์œผ๋กœ ํ†ตํ•ฉ + - discord Webhooks์„ ํ†ตํ•ด PR์ด ์ƒ์„ฑ๋  ๋•Œ ์•Œ๋ฆผ ์˜ค๋„๋ก ์„ค์ • + +
+ +## ๐Ÿšจ ํ”„๋กœ์ ํŠธ ๋‚ด ๋ฐœ์ƒํ•œ ๋ฌธ์ œ์  / ํ•ด๊ฒฐ๋ฐฉ์•ˆ + +### ๋ฌธ์ œ์  + +- Github Orginazation์— ๋Œ€ํ•œ ๋ฐฐํฌ ์‹œ ์œ ๋ฃŒ ๊ธฐ๋Šฅ ์ง€์› ๋ฌธ์ œ + +### ํ•ด๊ฒฐ ๋ฐฉ์•ˆ -You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file. +- Git Action์„ ํ™œ์šฉํ•˜์—ฌ ์ž๋™ ๋ฐฐํฌ ๋ฐ PR ํ”„๋ฆฌ๋ทฐ ์ƒ์„ฑ ([#32](github link)) -This project uses [`next/font`](https://nextjs.org/docs/basic-features/font-optimization) to automatically optimize and load Inter, a custom Google Font. +
-## Learn More +## ๐Ÿ“— ํ”„๋กœ์ ํŠธ ๋‚ด ์ž˜ํ•œ ์  / ์•„์‰ฌ์šด ์  -To learn more about Next.js, take a look at the following resources: +### ๐Ÿ˜Š ์ž˜ํ•œ ์  -- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API. -- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial. +#### R&R์„ ํ†ตํ•ด ์—…๋ฌด ๋ถ„๋‹ด์„ ํ•œ ํ›„, ๋งค์ผ๋งˆ๋‹ค ๋ณด๊ณ ํ•˜๋Š” ํ˜•์‹์œผ๋กœ ์ง„ํ–‰ -You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js/) - your feedback and contributions are welcome! +- ๊ฐ์ž์˜ ๋งก์€ ์—ญํ• ์ด ์™„๋ฃŒ๋˜๋ฉด ๋ณด๊ณ  ํ›„, ํ˜„์žฌ ๋‚จ์€ ์ž‘์—…์„ ์ˆ˜ํ–‰ -## Deploy on Vercel +### ๐Ÿ˜ฎโ€๐Ÿ’จ ์•„์‰ฌ์šด ์  -The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js. +#### ๊ฑด๊ฐ• ๊ด€๋ฆฌ๋ฅผ ์ œ๋Œ€๋กœ ํ•˜์ง€ ๋ชปํ•จ -Check out our [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more details. -# WeKitBucket +- ๋‹ค๋“ค ์—ด์‹ฌํžˆ ์ฐธ์—ฌํ•˜๋А๋ผ, ์ˆ˜๋ฉด ์‹œ๊ฐ„์ด ๋ถˆ๊ทœ์น™ํ•œ ๋ฌธ์ œ๊ฐ€ ์กด์žฌํ•จ