Search
Duplicate

Hobby Hop

โค๏ธ
TEAM A10
Search
์ด๋ฆ„
ํƒœ๊ทธ
MBTI
BLOG
GITHUB
ํ•œ ๋งˆ๋””!
๊ฐœ์ธ ์ผ์ •
๋ถ€๋ฆฌ๋”
ISTJ
(๋ชฉ)์˜คํ›„ 2~3์‹œ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์Šคํ„ฐ๋””
ํŒ€์›
ENTP
๊ณต์‚ฌ์ค‘
ํŒ€์›
ISTJ
๊พธ์ค€ํžˆ ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค
ํŒ€์›
INTJ
๋‚ด๊ฐ€ ์œ ์ €๋ฅผ ์–ด๋–ป๊ฒŒ ํ•˜์ง€โ€ฆ โ†’ ๋‚ด๊ฐ€ ์œ ์ € ํ•ด๋ƒ„
(๋ชฉ)์˜คํ›„ 2~3์‹œ, ๋‚˜๋จธ์ง€ ํ‰์ผ ์˜คํ›„ 7~8์‹œ ๊ธฐ์ˆ  ๋ฉด์ ‘ ๋ฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์Šคํ„ฐ๋””
๐ŸŒˆ
Daily Scrum
Search
๋ชฉ์š”์ผ
5
๊ธˆ์š”์ผ
4
ํ† ์š”์ผ
1
์ผ์š”์ผ
0
์›”์š”์ผ
1
ํ™”์š”์ผ
0
์ˆ˜์š”์ผ
0
(๋ฆฌ๋”) ๊ถŒ์ค€ํ˜ ๊ณ„ํš
(๋ถ€๋ฆฌ๋”) ํ™ํšจ์ • ๊ณ„ํš
(ํŒ€์›) ์ •์œ ์ง„ ๊ณ„ํš
(ํŒ€์›) ๊น€ํ•œ์ค€ ๊ณ„ํš
(ํŒ€์›) ์†ก์ง€ํ—Œ ๊ณ„ํš
(๋ถ€๋ฆฌ๋”) ํ™ํšจ์ • ๊ณ„ํš
(ํŒ€์›) ์ •์œ ์ง„ ๊ณ„ํš
(ํŒ€์›) ๊น€ํ•œ์ค€ ๊ณ„ํš
(ํŒ€์›) ์†ก์ง€ํ—Œ ๊ณ„ํš
(๋ถ€๋ฆฌ๋”) ํ™ํšจ์ • ๊ณ„ํš
(๋ฆฌ๋”) ๊ถŒ์ค€ํ˜ ๊ณ„ํš
๐Ÿ˜
TEAM GITHUB
๐Ÿฅฐ
์‹œ์—ฐ ์˜์ƒ
๐Ÿ˜˜
๋ฐœํ‘œ ์ž๋ฃŒ
๐ŸŒˆ
Ground Rule
์•ฝ์†
๋ชฉํ‘œ
์‹œ๊ฐ„ ์•ฝ์†
๐Ÿ”ฅ
๋งํฌ ๋ชจ์Œ !
๊ธฐ์ˆ  ๋ฉด์ ‘
์ฐธ๊ณ 
๐ŸŽ
ํšŒ์˜๋ก & ์ฝ”๋“œ ๋ฆฌ๋ทฐ & ๋ฉ”๋ชจ & ๊ธฐ์ˆ  ๋ฉ˜ํ† ๋ง ๋…ธํŠธ
ํšŒ์˜๋ก
์ฝ”๋“œ ๋ฆฌ๋ทฐ
๋ฉ”๋ชจ
๊ธฐ์ˆ ๋ฉด์ ‘
์ง„ํ–‰ ์ƒํ™ฉ
ํ”„๋ก ํŠธ ์ž๋ฃŒ
๊ธฐ์ˆ  ๋ฉ˜ํ† ๋ง
์Šค์›จ๊ฑฐ ํ…Œ์ŠคํŠธ
์˜์ˆ˜์ฆ
- ๊ธฐ์ˆ ๋ฉด์ ‘ ์ดํ›„์— ๋ฐ”๋กœ ์ด์–ด์„œ ํŒ€ ํšŒ์˜ ์ง„ํ–‰ํ•˜๋Š”๊ฒŒ ์ •๋ง ์ข‹์•„๋ณด์ž…๋‹ˆ๋‹ค. :) - ์—ญํ•  ๋ถ„๋‹ด์€ ์•„์ฃผ ์ค‘์š”ํ•œ ๋ฐฐํฌ๋ฅผ ๋งก์•„์ฃผ์‹ค ๋ถ„์ด ๋น ์ ธ์žˆ์Šต๋‹ˆ๋‹ค. ๋Œ“๊ธ€๊ณผ ๋Œ€๋Œ“๊ธ€์€ ๊ฐœ๋ฐœ ์Šค์ฝ”ํ”„๊ฐ€ ํฌ์ง€ ์•Š์œผ๋‹ˆ ํ•œ๋ถ„์ด ์ง„ํ–‰ ํ•˜์‹œ๊ณ  ๋‹ค๋ฅธ ํ•œ๋ถ„์ด ๋ฐฐํฌ๋ฅผ ๋งก์•„์ฃผ์‹œ๋Š”๊ฒŒ ์ข‹์ง€ ์•Š์„๊นŒ ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. - ERD๋Š” ๊ดœ์ฐฎ์Šต๋‹ˆ๋‹ค ๋‹ค๋งŒ ๋‹ค๋Œ€๋‹ค ๋งคํ•‘ ํ…Œ์ด๋ธ”์„ ์ „๋ถ€ ์ฃผ ํ‚ค๋ฅผ ์žก์•„์ฃผ์…จ๋Š”๋ฐ ์ด๋ฅผ ๋ณตํ•ฉํ‚ค๋กœ ๋ณ€๊ฒฝํ•˜๋Š”๊ฑธ ์ถ”์ฒœ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ๋งˆ์ง€๋ง‰ ํ”„๋กœ์ ํŠธ๋‹ˆ ๋งŒํผ ์™„์„ฑ๋„๋ฅผ ๋†’์ด๋ฉด ์ข‹๊ฒ ์Šต๋‹ˆ๋‹ค. - API๋ฅผ ๋ณด๋‹ˆ Page ์ฒ˜๋ฆฌ๋ฅผ ์•ˆํ•ด๋†“์œผ์‹ ๊ฑฐ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ „์ฒด๋ฅผ ์กฐํšŒํ•˜๋Š” ๋ถ€๋ถ„์€ pagable์„ ์‚ฌ์šฉํ•ด ํŽ˜์ด์ง€, ์ •๋ ฌ ์ฒ˜๋ฆฌ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š”๊ฑธ ์ถ”์ฒœ๋“œ๋ฆฝ๋‹ˆ๋‹ค. - ์ถ”๊ฐ€ ๊ตฌํ˜„ ์ŠคํŽ™์— ์žˆ๋Š” ๊ธฐ๋Šฅ์ค‘ ์•Œ๋ฆผ, ์ฑ„ํŒ…์€ ๊ผญ ์ง„ํ–‰ํ•ด๋ณด๋Š”๊ฑธ ์ถ”์ฒœํ•ฉ๋‹ˆ๋‹ค. - API์ƒ์—์„œ ๋ณต์ˆ˜ํ˜•์ด ๋ถ™์—ˆ๋‹ค๊ฐ€ ์•ˆ๋ถ™์—ˆ๋‹ค๊ฐ€ ํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋‘ ๋ณต์ˆ˜ํ˜•์œผ๋กœ ์ฒ˜๋ฆฌํ•ด์ฃผ์‹œ๋ฉด ๊ฐ์‚ฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. - ํšŒ์› ํƒˆํ‡ด์™€ ๊ฐ™์ด Delete ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š”๊ฑด ๋’ค์— /withdraw๋ฅผ ์•ˆ๋ถ™์—ฌ๋„ ๋ชจ๋‘ ์•Œ์•„๋ณผ ์ˆ˜ ์žˆ๊ธฐ๋•Œ๋ฌธ์— ์ƒ๋žตํ•˜๋Š”๊ฑธ ์ถ”์ฒœ๋“œ๋ฆฝ๋‹ˆ๋‹ค. - ํšŒ์› ํƒˆํ‡ด์™€ ํšŒ์› ๊ฐ•ํ‡ด๊ฐ€ ๊ฐ™์ด ์žˆ๋Š”๋ฐ ์ด๋Š” API๋ฅผ ํ•œ๊ฐœ๋กœ ํ•ฉ์น˜๊ณ  ๋‚ด๋ถ€์ ์œผ๋กœ ๊ถŒํ•œ์ด ์žˆ๋Š”์ง€ ํ™•์ธํ›„์— ์ง„ํ–‰ํ•˜๋Š”๊ฒŒ ์ข‹์•„๋ณด์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿผ ์ตœ์ข… ํ”„๋กœ์ ํŠธ ์‘์›ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.
Plain Text
๋ณต์‚ฌ
๐ŸŒˆ
S.A.
๐ŸŒˆ
ํ”„๋กœ์ ํŠธ ์†Œ๊ฐœ !
ํ”„๋กœ์ ํŠธ
์‚ฌ์šฉํ•œ ๊ธฐ์ˆ 
๊ธฐํš ๊ด€๋ จ ๋ฉ”๋ชจ
Project Rules
์ธํ”„๋ผ ์•„ํ‚คํ…์ณ(1.19์ผ ๊ธฐ์ค€)
๐Ÿฑ
๊ฐœ๋ฐœ ์ผ์ •
๊ฐœ๋ฐœ ์ผ์ •
๐ŸŽ
์—ญํ• (WBS & Tasks)
๊ถŒ์ค€ํ˜
๊น€ํ•œ์ค€
์†ก์ง€ํ—Œ
์ •์œ ์ง„
ํ™ํšจ์ •
๐Ÿฆ„
๊ธฐํš
ERD Diagram
Wire Frame
Search
๋‹ด๋‹น์ž
์ง„ํ–‰ ์ƒํ™ฉ
์šฐ์„ ์ˆœ์œ„
๋ถ„๋ฅ˜
๊ธฐ๋Šฅ
method
URL
request
response
์š”๊ตฌ์‚ฌํ•ญ
Token
request header
response header
์—๋Ÿฌ ์ฝ”๋“œ
์œ ์ง„
์™„๋ฃŒ
ํ•„์ˆ˜
์œ ์ €
POST
/api/users/signup
{ "email" : โ€œemail@email.com", "username" : "์œ ์ €๋„ค์ž„", "password" : "password", "confirmPassword" : โ€œpasswordโ€ }
{ "message" : "ํšŒ์›๊ฐ€์ž… ์„ฑ๊ณต" }
username : ํ•œ๊ธ€, ์˜์–ด, ์ˆซ์ž (1~50์ž) email : ^(?:\w+\.?)*\w+@(?:\w+\.)+\w (7~50์ž) password : ^[a-zA-Z0-9]+$ (8~15์ž)
์™„๋ฃŒ
ํ•„์ˆ˜
์œ ์ €
POST
/api/users/login
{ "email" : โ€œemail@email.com", "password" : "password" }
{ "message" : "๋กœ๊ทธ์ธ ์„ฑ๊ณต" }
{ "Authorization": Bearer tokenvalue }
์™„๋ฃŒ
ํ•„์ˆ˜
์œ ์ €
GET
/api/users/logout
-
{ "message" : "๋กœ๊ทธ์•„์›ƒ ์„ฑ๊ณต" }
{ "Authorization": Bearer tokenvalue }
์™„๋ฃŒ
1์ˆœ์œ„
์œ ์ €
GET
/api/users/login/kakao/callback
-
{ "message" : "์นด์นด์˜ค ๋กœ๊ทธ์ธ ์„ฑ๊ณต" }
์™„๋ฃŒ
2์ˆœ์œ„
์œ ์ €
POST
/api/users/withdrawal
{ "password" : "password" }
{ "message" : "ํšŒ์› ํƒˆํ‡ด ์„ฑ๊ณต" }
{ "Authorization": Bearer tokenvalue }
์™„๋ฃŒ
ํ•„์ˆ˜
์œ ์ €
PATCH
/api/users/update
{ "email" : โ€œemail@email.com", "username" : "์œ ์ €๋„ค์ž„" "oldPassword" : "์ด์ „ ๋น„๋ฐ€๋ฒˆํ˜ธ", "newPassword" : "์ƒˆ ๋น„๋ฐ€๋ฒˆํ˜ธ", โ€confirmPasswordโ€ : โ€œ์ƒˆ ๋น„๋ฐ€๋ฒˆํ˜ธโ€ }
{ "message" : "์‚ฌ์šฉ์ž ์ •๋ณด ์ˆ˜์ • ์„ฑ๊ณต" }
{ "Authorization": Bearer tokenvalue }
{ "Authorization": Bearer tokenvalue }
์™„๋ฃŒ
2์ˆœ์œ„
์œ ์ €
GET
/api/users/profile
-
{ย  ย  "success": true, ย  ย  "httpStatus": "OK", ย  ย  "errorMessages": null, ย  ย  "data": { ย  ย  ย  ย  "username": "username", "email": โ€œemail@email.com" ย  ย  } }
{ "Authorization": Bearer tokenvalue }
์™„๋ฃŒ
2์ˆœ์œ„
์œ ์ €
GET
/api/users/profile/{otherUserId}
-
{ย  ย  "success": true, ย  ย  "httpStatus": "OK", ย  ย  "errorMessages": null, ย  ย  "data": { ย  ย  ย  ย  "username": "username" ย  ย  } }
{ "Authorization": Bearer tokenvalue }
์ค€ํ˜
์™„๋ฃŒ
ํ•„์ˆ˜
๋ชจ์ž„
POST
/api/clubs
{ โ€groupName" : "๊ทธ๋ฃน๋ช…", "groupDescription" : "์„ค๋ช…", โ€groupCategoryโ€ : โ€œ์นดํ…Œ๊ณ ๋ฆฌโ€, }
{ โ€groupName" : "๊ทธ๋ฃน๋ช…", "groupDescription" : "์„ค๋ช…", โ€groupCategoryโ€ : โ€œ์นดํ…Œ๊ณ ๋ฆฌโ€, "createdAt" : "2024/01/04 12:53PM", "modifiedAt" : "2024/01/04 12:53PM" }
์™„๋ฃŒ
ํ•„์ˆ˜
๋ชจ์ž„
GET
/api/clubs
{ โ€pageโ€:1, โ€totalCountโ€:20, โ€œdataโ€ : [ { "groupId": 1, โ€groupName" : "๊ทธ๋ฃน๋ช…", "groupDescription" : "์„ค๋ช…", โ€groupCategoryโ€ : โ€œ์นดํ…Œ๊ณ ๋ฆฌโ€, }, { โ€pageโ€:1, โ€totalCountโ€:20, "groupId": 2, โ€groupName" : "๊ทธ๋ฃน๋ช…", "groupDescription" : "์„ค๋ช…", โ€groupCategoryโ€ : โ€œ์นดํ…Œ๊ณ ๋ฆฌโ€, } ] }
์™„๋ฃŒ
ํ•„์ˆ˜
๋ชจ์ž„
GET
/api/clubs/{clubId}
{ "groupId": 1 โ€groupName" : "๊ทธ๋ฃน๋ช…", "groupDescription" : "์„ค๋ช…", โ€groupCategoryโ€ : โ€œ์นดํ…Œ๊ณ ๋ฆฌโ€, }
์™„๋ฃŒ
ํ•„์ˆ˜
๋ชจ์ž„
POST
/api/clubs/{clubId}
{ โ€œusernameโ€: โ€œ์œ ์ €๋„ค์ž„โ€, โ€œemailโ€:โ€email@email.comโ€ }
{ "message" : "๋ชจ์ž„ ๊ฐ€์ž… ์„ฑ๊ณต" }
์™„๋ฃŒ
ํ•„์ˆ˜
๋ชจ์ž„
DELETE
/api/clubs/{clubId}
{ "message" : "๋ชจ์ž„ ์‚ญ์ œ ์„ฑ๊ณต" }
์™„๋ฃŒ
1์ˆœ์œ„
๋ชจ์ž„
PATCH
/api/clubs/{clubId}
{ โ€groupName" : "๊ทธ๋ฃน๋ช…", "groupDescription" : "์„ค๋ช…", โ€groupCategoryโ€ : โ€œ์นดํ…Œ๊ณ ๋ฆฌโ€, }
{ "message" : "๋ชจ์ž„ ์ •๋ณด ๋ณ€๊ฒฝ ์„ฑ๊ณต" }
์™„๋ฃŒ
1์ˆœ์œ„
๋ชจ์ž„
DELETE
/api/clubs/{clubId}
{ โ€œmessageโ€ : โ€œํšŒ์› ํƒˆํ‡ด ์„ฑ๊ณตโ€ }
์™„๋ฃŒ
1์ˆœ์œ„
๋ชจ์ž„
PATCH
/api/clubs/{clubId}/category
{ โ€groupCategoryโ€ : โ€œ์นดํ…Œ๊ณ ๋ฆฌโ€ }
์™„๋ฃŒ
2์ˆœ์œ„
๋ชจ์ž„
PATCH
/api/clubs/{clubId}/email
{ โ€œemailโ€:โ€email@email.comโ€ }
ํ•œ์ค€
์™„๋ฃŒ
ํ•„์ˆ˜
๊ฒŒ์‹œ๊ธ€
POST
/api/clubs/{clubId}/posts
{ โ€œpostTitleโ€ : โ€œ์ œ๋ชฉโ€ โ€œpostContentโ€ : โ€œ๋‚ด์šฉโ€ โ€imageUrlโ€ : "myfolder/img.jpgโ€ }
{ โ€œpostTitleโ€ : โ€์ œ๋ชฉโ€, โ€œpostContentโ€ : โ€œ๋‚ด์šฉโ€, โ€imageUrlโ€ : "myfolder/img.jpgโ€ โ€viewCountโ€: 0, "createdAt" : "2024/01/04 12:53PM", "modifiedAt" : "2024/01/04 12:53PM" }
์™„๋ฃŒ
ํ•„์ˆ˜
๊ฒŒ์‹œ๊ธ€
GET
/api/clubs/{clubId}/posts/{postId}
{ โ€œpostTitleโ€ : โ€œ์ œ๋ชฉโ€ โ€œpostContentโ€ : โ€œ๋‚ด์šฉโ€ โ€imageUrlโ€ : "myfolder/img.jpgโ€, โ€viewCountโ€: 1, "createdAt" : "2024/01/04 12:53PM", "modifiedAt" : "2024/01/04 12:53PM" }
์™„๋ฃŒ
ํ•„์ˆ˜
๊ฒŒ์‹œ๊ธ€
GET
/api/clubs/{clubId}/posts?page=1&size=5
{ โ€œpageโ€ : 1, โ€œsizeโ€ : 10 }
{ โ€pageโ€:1, โ€totalCountโ€:20, โ€œdataโ€ : [ { โ€postTitle" : "์ œ๋ชฉ", โ€imageUrlโ€ : "myfolder/img.jpgโ€, โ€viewCountโ€: 1, "createdAt" : "2024/01/04 12:53PM", "modifiedAt" : "2024/01/04 12:53PM" }, { โ€postTitle" : "์ œ๋ชฉ", โ€imageUrlโ€ : "myfolder/img.jpgโ€, โ€viewCountโ€:1, "createdAt" : "2024/01/04 12:53PM", "modifiedAt" : "2024/01/04 12:53PM" }, ] }
์™„๋ฃŒ
ํ•„์ˆ˜
๊ฒŒ์‹œ๊ธ€
PATCH
/api/clubs/{clubId}/posts/{postId}
{ โ€œpostTitleโ€ : โ€œ์ œ๋ชฉโ€ โ€œpostContentโ€ : โ€œ๋‚ด์šฉโ€ โ€imageUrlโ€ : "myfolder/img.jpgโ€ }
{ "message" : "๊ฒŒ์‹œ๊ธ€ ์ˆ˜์ • ์™„๋ฃŒ" }
์™„๋ฃŒ
ํ•„์ˆ˜
๊ฒŒ์‹œ๊ธ€
DELETE
/api/clubs/{clubId}/posts/{postId}
{ โ€œmessageโ€ : โ€œ๊ฒŒ์‹œ๊ธ€ ์‚ญ์ œ ์™„๋ฃŒโ€ }
์™„๋ฃŒ
2์ˆœ์œ„
๊ฒŒ์‹œ๊ธ€
POST
/api/clubs/{clubId}/posts/{postId}/like
{ โ€œmessageโ€ : โ€œ๊ฒŒ์‹œ๊ธ€ ์ข‹์•„์š” ์™„๋ฃŒโ€ }
์™„๋ฃŒ
2์ˆœ์œ„
๊ฒŒ์‹œ๊ธ€
DELETE
/api/clubs/{clubId}/posts/{postId}/like
{ โ€œmessageโ€ : โ€œ๊ฒŒ์‹œ๊ธ€ ์ข‹์•„์š” ์‚ญ์ œ ์™„๋ฃŒโ€ }
ํšจ์ •
์™„๋ฃŒ
ํ•„์ˆ˜
๋Œ“๊ธ€
POST
/api/groups/{groupId}/posts/{postId}/comments
{ โ€œcommentโ€ : โ€๋Œ“๊ธ€โ€ }
{ โ€œcommentโ€ : โ€œ๋Œ“๊ธ€โ€, "writer" : "์ž‘์„ฑ์ž", โ€likesโ€:1, "createdAt" : "2024/01/04 12:53PM" }
Load more