Altsis ํ๊ต ์ ๋ณด ์์คํ ์ ๋ฐฑ์๋ RESTful API์ ๋ํ ์ข ํฉ ๋ฌธ์์ ๋๋ค.
| ๋ฌธ์ | ์ค๋ช |
|---|---|
| API ๊ฐ์ | RESTful ์ค๊ณ ์์น, ์ธ์ฆ, ์๋ฌ ์ฒ๋ฆฌ, ํ๋ก ํธ์๋ ์ฐ๋ ํจํด |
| ์์นด๋ฐ๋ฏธ API | ์์นด๋ฐ๋ฏธ ์์ฑ, ์กฐํ, ์ค์ , ๋ฐฑ์ /๋ณต์ |
| ์ฌ์ฉ์ API | ๋ก๊ทธ์ธ/๋ก๊ทธ์์, ์ฌ์ฉ์ CRUD, ํ๋กํ ๊ด๋ฆฌ |
| ํ๊ต API | ํ๊ต ์์ฑ, ์กฐํ, ๊ธฐ๋ก ์์ ๊ด๋ฆฌ |
| ํ๊ธฐ API | ํ๊ธฐ ์์ฑ, ํ์ฑํ, ๊ต๊ณผ๋ชฉ/๊ฐ์์ค/์์/๊ถํ ์ค์ |
| ์์ API | ๊ฐ์๊ณํ์, ์๊ฐ์ ์ฒญ, ํ๊ฐ, ํ๊ธฐ ๋ฑ๋ก |
| ๋ฑ๋ก API | ํ๊ธฐ ๋ฑ๋ก ์์ฑ, ๋ณต์ฌ, ์กฐํ, ์์ , ์ญ์ |
| ์๊ฐ API | ์๊ฐ ๋ฑ๋ก, ํ๊ฐ ์ ๋ ฅ, ๋ฉ๋ชจ, ์บ๋ฆฐ๋ ๋๊ธฐํ |
| ๊ฒ์ํ API | ๊ฒ์ํ/๊ฒ์๊ธ/๋๊ธ CRUD, ์ญํ ๊ธฐ๋ฐ ๊ถํ |
| ์บ๋ฆฐ๋ API | ์ผ์ ์์ฑ/์กฐํ, ๋ฐ๋ณต ์ผ์ , ์ฌ์ฉ์ ์บ๋ฆฐ๋ |
| ์ฑํ API | ์ฑํ ๋ฐฉ, ๋ฉ์์ง, ํ์ผ ์ ๋ก๋, ์ค์๊ฐ ์ด๋ฒคํธ |
| ์๋ฆผ API | ์๋ฆผ ์์ฑ/์กฐํ/ํ์ธ, ์๋ฆผ ์ค์ |
| ๋ฆฌ๋ง์ธ๋ API | ๋ ๋ฆฝ ๋ฆฌ๋ง์ธ๋, upcoming ํตํฉ ์กฐํ |
| Goals API | ํ/๋ชฉํ ์์ ฏ ์งํ ์์ฝ |
| ํ ๋ง ์ค์ API | ์ฌ์ฉ์ ํ ๋งยท์ปค์คํ ์์ |
| AI API | Alter(์ ์ญ ์ด์์คํดํธ), ๊ฐ์๊ณํ์ ๊ฒํ , ๋ชจ๋ธ/ํค ๊ด๋ฆฌ |
| ์์ API | ์์ CRUD, ๋ณต์ฌ, ๋ณด๊ด/๋ณต์, ์ด๋ ๊ถํ |
| ํ์ ๊ธฐ๋ก API | ํ์ ๊ธฐ๋ก ์กฐํ, ์์ , ํ์ผ ์ฒจ๋ถ |
| ํ์ผ API | S3 ํ์ผ ์ ๋ก๋/๋ค์ด๋ก๋, Pre-Signed URL |
| ๋ฐ์ดํฐ ๋ชจ๋ธ | MongoDB ์คํค๋ง ์ ์ฒด ๋ช ์ธ |
๋ฑ๋ก ์๊ฐํ ๋ฉ๋ชจ(/api/memos)๋ ์บ๋ฆฐ๋ API โ Registration Memo์ ํฌํจ๋์ด ์์ต๋๋ค.
ํด๋ผ์ด์ธํธ (React + TypeScript)
|
| useAPIv2() ํ
--- axios (์ธ์
์ฟ ํค)
|
v
Express.js ์๋ฒ
|
| ๋ผ์ฐํธ --> ๋ฏธ๋ค์จ์ด(์ธ์ฆ) --> ์ปจํธ๋กค๋ฌ
|
v
MongoDB (Mongoose) + Redis (์ธ์
) + S3 (ํ์ผ)
๋ชจ๋ API๋ ๋ค์ ๊ฒฝ๋ก๋ฅผ ๊ธฐ๋ณธ์ผ๋ก ํฉ๋๋ค:
/api/{๋ฆฌ์์ค๋ช
}
์ธ์ ๊ธฐ๋ฐ ์ธ์ฆ์ ์ฌ์ฉํฉ๋๋ค. ๋ก๊ทธ์ธ ํ ๋ฐ๊ธ๋๋ ์ธ์ ์ฟ ํค๊ฐ ๋ชจ๋ ์์ฒญ์ ์๋์ผ๋ก ํฌํจ๋ฉ๋๋ค.
POST /api/users/login/local
Content-Type: application/json
{
"academyId": "my-academy",
"userId": "admin",
"password": "password123"
}
| ๊ถํ ๋ฑ๊ธ | ์ค๋ช | ์ฃผ์ ๊ธฐ๋ฅ |
|---|---|---|
owner |
์ต๊ณ ๊ด๋ฆฌ์ | ์์นด๋ฐ๋ฏธ ์์ฑ/์ญ์ , ์ ์ฒด ์์คํ ๊ด๋ฆฌ |
admin |
์์นด๋ฐ๋ฏธ ๊ด๋ฆฌ์ | ์ฌ์ฉ์/ํ๊ต ๊ด๋ฆฌ, ๋ฐฑ์ /๋ณต์ |
manager |
์ด์์ | ํ๊ธฐ/์์ ๊ด๋ฆฌ, ๊ฒ์ํ ๊ด๋ฆฌ |
member |
์ผ๋ฐ ์ฌ์ฉ์ | ์์ ์ฐธ์ฌ, ๊ฒ์๊ธ ์์ฑ |
ํ๋ก ํธ์๋ useAPIv2 ํ
์์ ์ฌ์ฉํ๋ ํจ์๋ช
์ CRUD ์ ๋์ฌ๋ฅผ ๋ฐ๋ฆ
๋๋ค:
| ์ ๋์ฌ | HTTP ๋ฉ์๋ | ์๋ฏธ | ์์ |
|---|---|---|---|
C |
POST | Create (์์ฑ) | CAcademy, CUser |
R |
GET | Read (์กฐํ) | RAcademies, RUser |
U |
PUT | Update (์์ ) | UActivateAcademy |
D |
DELETE | Delete (์ญ์ ) | DAcademy, DUser |
๋ฐฑ์๋ ์์ค ์ฝ๋์ JSDoc ์ฃผ์์ผ๋ก๋ถํฐ API ๋ฌธ์๋ฅผ ์๋ ์์ฑํ ์ ์์ต๋๋ค:
cd backend
npm run jsdoc- ๋ฐ์ดํฐ ๋ชจ๋ธ์ ์์ธ ํ๋ ๋ช ์ธ๋ ๋ฐ์ดํฐ ๋ชจ๋ธ ๋ฌธ์๋ฅผ ์ฐธ๊ณ ํ์ธ์.
- ํ๋ก ํธ์๋์์์ API ํธ์ถ ํจํด์ API ๊ฐ์์
useAPIv2์น์ ์ ์ฐธ๊ณ ํ์ธ์.