4. API - LikeLionTeam/BootHouse GitHub Wiki

1. ์‚ฌ์šฉ์ž (Users)

1.1 ํšŒ์› ๊ด€๋ฆฌ

HTTP ๋ฉ”์„œ๋“œ URI ์„ค๋ช…
GET /users/create ํšŒ์›๊ฐ€์ž… ํผ ์กฐํšŒ
POST /users ์ƒˆ ์‚ฌ์šฉ์ž ์ƒ์„ฑ
POST /users/verify ์ด๋ฉ”์ผ ์ธ์ฆ ์ฝ”๋“œ ๋ฐœ์†ก
GET /users/{id} ์‚ฌ์šฉ์ž ์ •๋ณด ์กฐํšŒ
PUT /users/{id} ์‚ฌ์šฉ์ž ์ •๋ณด ์ˆ˜์ •
DELETE /users/{id} ์‚ฌ์šฉ์ž ์‚ญ์ œ

1.2 ์ธ์ฆ

HTTP ๋ฉ”์„œ๋“œ URI ์„ค๋ช…
GET /login ๋กœ๊ทธ์ธ ํผ ์กฐํšŒ
POST /login ๋กœ๊ทธ์ธ
POST /logout ๋กœ๊ทธ์•„์›ƒ

1.3 ์‚ฌ์šฉ์ž ์ธ์ฆ ์ƒํƒœ

HTTP ๋ฉ”์„œ๋“œ URI ์„ค๋ช…
GET /users/{id}/auth ์‚ฌ์šฉ์ž ์ธ์ฆ ์ƒํƒœ ์กฐํšŒ
POST /users/{id}/auth ์‚ฌ์šฉ์ž ์ธ์ฆ ์ƒํƒœ ์—…๋ฐ์ดํŠธ

2. ๊ด€๋ฆฌ์ž (Admin)

2.1 ์‚ฌ์šฉ์ž ์ธ์ฆ ๊ด€๋ฆฌ

HTTP ๋ฉ”์„œ๋“œ URI ์„ค๋ช…
GET /admin/user-auth ์‚ฌ์šฉ์ž ์ธ์ฆ ๋ชฉ๋ก ์กฐํšŒ
POST /admin/user-auth/{id}/approve ์‚ฌ์šฉ์ž ์ธ์ฆ ์Šน์ธ
POST /admin/user-auth/{id}/deny ์‚ฌ์šฉ์ž ์ธ์ฆ ๊ฑฐ์ ˆ
DELETE /admin/user-auth/{id} ์‚ฌ์šฉ์ž ์ธ์ฆ ์‚ญ์ œ

3. ๋ถ€ํŠธ์บ ํ”„ (Bootcamps)

HTTP ๋ฉ”์„œ๋“œ URI ์„ค๋ช…
GET /bootcamps ๋ชจ๋“  ๋ถ€ํŠธ์บ ํ”„ ์กฐํšŒ
POST /bootcamps ์ƒˆ ๋ถ€ํŠธ์บ ํ”„ ์ƒ์„ฑ
GET /bootcamps/{id} ํŠน์ • ๋ถ€ํŠธ์บ ํ”„ ์กฐํšŒ
PUT /bootcamps/{id} ๋ถ€ํŠธ์บ ํ”„ ์ •๋ณด ์ˆ˜์ •
DELETE /bootcamps/{id} ๋ถ€ํŠธ์บ ํ”„ ์‚ญ์ œ
GET /bootcamps/{id}/courses ํŠน์ • ๋ถ€ํŠธ์บ ํ”„์˜ ์ฝ”์Šค ๋ชฉ๋ก ์กฐํšŒ

4. ์ฝ”์Šค (Courses)

HTTP ๋ฉ”์„œ๋“œ URI ์„ค๋ช…
GET /courses ๋ชจ๋“  ์ฝ”์Šค ์กฐํšŒ
POST /courses ์ƒˆ ์ฝ”์Šค ์ƒ์„ฑ
GET /courses/{id} ํŠน์ • ์ฝ”์Šค ์ƒ์„ธ ์กฐํšŒ
PUT /courses/{id} ์ฝ”์Šค ์ •๋ณด ์ˆ˜์ •
DELETE /courses/{id} ์ฝ”์Šค ์‚ญ์ œ
GET /courses/active ๋ชจ์ง‘ ์ค‘์ธ ์ฝ”์Šค ์กฐํšŒ

5. ๋ฆฌ๋ทฐ (Reviews)

HTTP ๋ฉ”์„œ๋“œ URI ์„ค๋ช…
GET /reviews ๋ชจ๋“  ๋ฆฌ๋ทฐ ์กฐํšŒ
POST /reviews ์ƒˆ ๋ฆฌ๋ทฐ ์ž‘์„ฑ
GET /reviews/{id} ํŠน์ • ๋ฆฌ๋ทฐ ์ƒ์„ธ ์กฐํšŒ
PUT /reviews/{id} ๋ฆฌ๋ทฐ ์ˆ˜์ •
DELETE /reviews/{id} ๋ฆฌ๋ทฐ ์‚ญ์ œ
GET /reviews/search ๋ฆฌ๋ทฐ ๊ฒ€์ƒ‰
GET /reviews/sort ๋ฆฌ๋ทฐ ์ •๋ ฌ

6. ์ฐœํ•˜๊ธฐ (Likes)

HTTP ๋ฉ”์„œ๋“œ URI ์„ค๋ช…
POST /likes/courses/{courseId} ์ฝ”์Šค ์ฐœํ•˜๊ธฐ
DELETE /likes/courses/{courseId} ์ฝ”์Šค ์ฐœํ•˜๊ธฐ ์ทจ์†Œ
POST /likes/reviews/{reviewId} ๋ฆฌ๋ทฐ ์ฐœํ•˜๊ธฐ
DELETE /likes/reviews/{reviewId} ๋ฆฌ๋ทฐ ์ฐœํ•˜๊ธฐ ์ทจ์†Œ
GET /users/{id}/likes/courses ์‚ฌ์šฉ์ž๊ฐ€ ์ฐœํ•œ ์ฝ”์Šค ๋ชฉ๋ก
GET /users/{id}/likes/reviews ์‚ฌ์šฉ์ž๊ฐ€ ์ฐœํ•œ ๋ฆฌ๋ทฐ ๋ชฉ๋ก

7. ๊ณต์ง€์‚ฌํ•ญ (Notices)

HTTP ๋ฉ”์„œ๋“œ URI ์„ค๋ช…
GET /notices ๋ชจ๋“  ๊ณต์ง€์‚ฌํ•ญ ์กฐํšŒ
POST /notices ์ƒˆ ๊ณต์ง€์‚ฌํ•ญ ์ž‘์„ฑ
GET /notices/{id} ํŠน์ • ๊ณต์ง€์‚ฌํ•ญ ์ƒ์„ธ ์กฐํšŒ
PUT /notices/{id} ๊ณต์ง€์‚ฌํ•ญ ์ˆ˜์ •
DELETE /notices/{id} ๊ณต์ง€์‚ฌํ•ญ ์‚ญ์ œ
POST /notices/{id}/images ๊ณต์ง€์‚ฌํ•ญ ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ

8. ์ฑ„ํŒ… (Chat)

8.1 ์ฑ„ํŒ… ๋ชฉ๋ก ๋ฐ ์ฑ„ํŒ…๋ฐฉ

HTTP ๋ฉ”์„œ๋“œ URI ์„ค๋ช…
GET /messages ์‚ฌ์šฉ์ž์˜ ์ฑ„ํŒ… ๋ชฉ๋ก ์กฐํšŒ
GET /messages/{id} ํŠน์ • ์ฑ„ํŒ…๋ฐฉ ์กฐํšŒ
POST /messages/new ์ƒˆ๋กœ์šด ์ฑ„ํŒ…๋ฐฉ ์ƒ์„ฑ
POST /messages/startChat ์ฑ„ํŒ… ์‹œ์ž‘ ๋˜๋Š” ๊ธฐ์กด ์ฑ„ํŒ…๋ฐฉ ์กฐํšŒ

8.2 ์ฑ„ํŒ… ๊ธฐ๋Šฅ ๊ด€๋ฆฌ

HTTP ๋ฉ”์„œ๋“œ URI ์„ค๋ช…
GET /api/chat/users ๋ชจ๋“  ์‚ฌ์šฉ์ž ๋ชฉ๋ก ์กฐํšŒ
POST /api/chat/invite ์ฑ„ํŒ…๋ฐฉ์— ์ƒˆ๋กœ์šด ์‚ฌ์šฉ์ž ์ดˆ๋Œ€
GET /api/chat/{chatroomId}/messages ํŠน์ • ์ฑ„ํŒ…๋ฐฉ์˜ ๋ฉ”์‹œ์ง€ ๋ชฉ๋ก ์กฐํšŒ
POST /api/chat/{chatroomId}/leave ์ฑ„ํŒ…๋ฐฉ ๋‚˜๊ฐ€๊ธฐ
GET /api/chat/{chatroomId}/last-message ์ฑ„ํŒ…๋ฐฉ์˜ ๋งˆ์ง€๋ง‰ ๋ฉ”์‹œ์ง€ ์ •๋ณด ์กฐํšŒ