[2025 ์ƒ๋ฐ˜๊ธฐ] ๐Ÿ’Œ์กฐ๊ฐ์ง‘ - ๊ธฐ์–ต ์ €์žฅ ๋ฐ ๊ณต์œ  ์„œ๋น„์Šค ์›นํŽ˜์ด์ง€ ์ œ์ž‘

๐Ÿ’ป ๋ฐฑ์—”๋“œ ์ฝ”๋“œ ๊ตฌํ˜„ ๋ณด๋Ÿฌ๊ฐ€๊ธฐ

์ฝ”๋“œ์ž‡๋ถ€์ŠคํŠธ ๋™์•„๋ฆฌ์˜ ๋งˆ์ง€๋ง‰ ํ™œ๋™์œผ๋กœ ๋ถ€์ŠคํŠธ ๋ฐ๋ชจ๋ฐ์ด์— ์ฐธ์—ฌํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. ์ด๋ฒˆ ํ”„๋กœ์ ํŠธ์˜ <์กฐ๊ฐ์ง‘>์€ ์ถ”์–ต์„ ์ €์žฅํ•˜๊ณ  ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๋Š” ์„œ๋น„์Šค์ด๋‹ค. ์ฝ”๋“œ์ž‡๋ถ€์ŠคํŠธ์—์„œ๋Š” ๊ฐœ๋ฐœ์—๋งŒ ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋””์ž์ธ ์‹œ์•ˆ์„ ์ œ๊ณตํ•ด์คฌ๋‹ค. ๋”ฐ๋ผ์„œ ์ด๋ฒˆ ํ”„๋กœ์ ํŠธ์—์„œ๋Š” ์ œ์‹œ๋œ ๋ชจ๋“  ๊ธฐ๋Šฅ ์š”๊ตฌ์‚ฌํ•ญ์„ ์ถฉ์กฑํ•˜๊ธฐ ์œ„ํ•˜์—ฌ ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์— ์ง‘์ค‘ํ•˜์˜€๋‹ค.

๋จผ์ € ํ”„๋กœ์ ํŠธ ๊ฐœ์š”๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.


ํ”„๋กœ์ ํŠธ ๊ฐœ์š”
๊ฐœ๋ฐœ ๊ธฐ๊ฐ„ 2025.02.04 ~ 2025.02.22 (2์ฃผ)
ํ”Œ๋žซํผ Web
๊ฐœ๋ฐœ ์ธ์› 7๋ช… (๋ฐฑ์—”๋“œ4 / ํ”„๋ก ํŠธ์—”๋“œ3)
๋‹ด๋‹น ์—ญํ•  - ๋ฐฑ์—”๋“œ โ€ข ๋กœ๊ทธ์ธ ๋ฐ ํšŒ์› ๊ด€๋ฆฌ (๊ธฐ์—ฌ๋„ 100%)
โ€ข ๋งˆ์ดํŽ˜์ด์ง€ ์›น์„œ๋ฒ„ ๊ตฌํ˜„ (๊ธฐ์—ฌ๋„ 100%)
โ€ข ์„œ๋น„์Šค ๊ธฐํš ๋ฐ ๋ฐฉํ–ฅ์„ฑ ์„ค์ • (๊ธฐ์—ฌ๋„ 80%)
๐Ÿ”’๊ฐœ๋ฐœ ํ™˜๊ฒฝ
๐Ÿš€ Stacks HTML, CSS(SCSS), JavaScript, React.js, Node.js
๐Ÿ›  Tools Figma, Git
๐Ÿ‘ฅย Collaboration GitHub, Notion, Discord, Slack

๋ณธ๊ฒฉ์ ์ธ ํ”„๋กœ์ ํŠธ ์ž‘์—…์— ๋“ค์–ด๊ฐ€๊ธฐ์— ์•ž์„œ ํŒ€์›๋“ค๊ณผ ํ”„๋กœ์ ํŠธ ์ž‘์—… ์ผ์ •๊ณผ ๊ทœ์น™์„ ์กฐ์œจํ•˜๊ณ  ์•„๋ž˜์™€ ๊ฐ™์€ ์†Œํ†ต ๋ฐฉ์‹์„ ์‚ฌ์šฉํ–ˆ๋‹ค.


์›นํŽ˜์ด์ง€ ๋””์ž์ธ ์ˆ˜์ •

๊ธฐ์กด์— ์ฝ”๋“œ์ž‡์—์„œ ์ œ๊ณตํ–ˆ๋˜ ๋””์ž์ธ๊ณผ ์š”๊ตฌ์‚ฌํ•ญ ์ค‘์— ๋ช‡ ๊ฐ€์ง€ ๋‚ด์šฉ์„ ๋ณ€๊ฒฝํ•˜์—ฌ ์•„๋ž˜์™€ ๊ฐ™์€ ๋””์ž์ธ์œผ๋กœ ์ƒˆ๋กญ๊ฒŒ ๋””์ž์ธํ–ˆ๋‹ค.

๊ตฌ์ฒด์ ์ธ ๋ณ€๊ฒฝ ๋‚ด์šฉ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.


API ๋ช…์„ธ์„œ

๊ทธ๋ฃน ๋ฐ ๊ฒŒ์‹œ๊ธ€ API ๋ช…์„ธ์„œ
์„น์…˜ Method URL ๊ธฐ๋Šฅ/์„ค๋ช…
๊ทธ๋ฃน POST /api/groups ๊ทธ๋ฃน ๋“ฑ๋ก
๊ทธ๋ฃน GET /api/groups ๊ทธ๋ฃน ๋ชฉ๋ก ์กฐํšŒ
๊ทธ๋ฃน PUT /api/groups/{groupId} ๊ทธ๋ฃน ์ˆ˜์ •
๊ทธ๋ฃน DELETE /api/groups/{groupId} ๊ทธ๋ฃน ์‚ญ์ œ
๊ทธ๋ฃน GET /api/groups/{groupId} ๊ทธ๋ฃน ์ƒ์„ธ ์ •๋ณด ์กฐํšŒ
๊ทธ๋ฃน POST /api/groups/{groupId}/verify-password ๊ทธ๋ฃน ์กฐํšŒ ๊ถŒํ•œ ํ™•์ธ
๊ทธ๋ฃน POST /api/groups/{groupId}/like ๊ทธ๋ฃน ๊ณต๊ฐํ•˜๊ธฐ
๊ทธ๋ฃน GET /api/groups/{groupId}/is-public ๊ทธ๋ฃน ๊ณต๊ฐœ ์—ฌ๋ถ€ ํ™•์ธ
๊ฒŒ์‹œ๊ธ€ POST /api/groups/{groupId}/posts ๊ฒŒ์‹œ๊ธ€ ๋“ฑ๋ก
๊ฒŒ์‹œ๊ธ€ GET /api/groups/{groupId}/posts ๊ฒŒ์‹œ๊ธ€ ๋ชฉ๋ก ์กฐํšŒ
๊ฒŒ์‹œ๊ธ€ PUT /api/posts/{postId} ๊ฒŒ์‹œ๊ธ€ ์ˆ˜์ •
๊ฒŒ์‹œ๊ธ€ DELETE /api/posts/{postId} ๊ฒŒ์‹œ๊ธ€ ์‚ญ์ œ
๊ฒŒ์‹œ๊ธ€ GET /api/posts/{postId} ๊ฒŒ์‹œ๊ธ€ ์ƒ์„ธ ์ •๋ณด ์กฐํšŒ
๊ฒŒ์‹œ๊ธ€ POST /api/posts/{postId}/verify-password ๊ฒŒ์‹œ๊ธ€ ์กฐํšŒ ๊ถŒํ•œ ํ™•์ธ
๊ฒŒ์‹œ๊ธ€ POST /api/posts/{postId}/like ๊ฒŒ์‹œ๊ธ€ ๊ณต๊ฐํ•˜๊ธฐ
๊ฒŒ์‹œ๊ธ€ GET /api/posts/{postId}/is-public ๊ฒŒ์‹œ๊ธ€ ๊ณต๊ฐœ ์—ฌ๋ถ€ ํ™•์ธ
๋Œ“๊ธ€ POST /api/posts/{postId}/comments ๋Œ“๊ธ€ ๋“ฑ๋ก
๋Œ“๊ธ€ GET /api/posts/{postId}/comments ๋Œ“๊ธ€ ๋ชฉ๋ก ์กฐํšŒ
๋Œ“๊ธ€ PUT /api/comments/{commentId} ๋Œ“๊ธ€ ์ˆ˜์ •
๋Œ“๊ธ€ DELETE /api/comments/{commentId} ๋Œ“๊ธ€ ์‚ญ์ œ

๐ŸŒฟ Userflow

์—ญํ• ๋ถ„๋‹ด
โ€ข ๊ทธ๋ฃน ๋ชฉ๋ก ํŽ˜์ด์ง€ (๊ธฐ์—ฌ๋„ 100%)
โ€ข ๊ทธ๋ฃน ์ƒ์„ธ ํŽ˜์ด์ง€ (๊ธฐ์—ฌ๋„ 100%)
โ€ข ์ถ”์–ต ์ƒ์„ธ ํŽ˜์ด์ง€ (๊ธฐ์—ฌ๋„ 100%)
โ€ข ๊ณต๊ฐœ ๊ทธ๋ฃน ๋ชฉ๋ก ํŽ˜์ด์ง€ (๊ธฐ์—ฌ๋„ 100%)
โ€ข ๋Œ“๊ธ€ ์ž‘์„ฑ/์ˆ˜์ •/์‚ญ์ œ ํŽ˜์ด์ง€ (๊ธฐ์—ฌ๋„ 100%)
โ€ข ๋ฉ”์ธํŽ˜์ด์ง€ (๊ธฐ์—ฌ๋„ 70%)
โ€ข ๋งˆ์ดํŽ˜์ด์ง€ (๊ธฐ์—ฌ๋„ 60%)


ERD ๋‹ค์ด์–ด๊ทธ๋žจ