๐ SSAFY 9๊ธฐ 2ํ๊ธฐ ์์จ ํ๋ก์ ํธ ๐
PostMan์ ์คํ์์ค ์๋น์ค๋ฅผ ๊ฐ๋ฐํด๋ณด์
2023.10.09 ~ 2023.011.17 (6์ฃผ)
"ํ๋ก์ ํธ ๊ฐ๋ฐ์์ PostMan์ ํ์๋ก ์ด์ฉํ๋๋ฐ, 4๋ช ์ด์๋ถํฐ๋ ์๊ธ์ด ๋์ค๋๊ฒ ๋ถ๋ด ๋ผ.."
๊ธฐ์กด์ API ํ ์คํธ ์๋น์ค๋ก ๊ฐ์ฅ ์ ๋ช ํ PostMan์ 4๋ช ์ด์๋ถํฐ ์๊ธ์ด ๋ฐ์ํฉ๋๋ค. ์ต์ ์๊ธ์ด ์ธ๋น ์ 14๋ฌ๋ฌ(์ฝ 18,000์)๋ก ๊ฐ๋จํ ํ๋ก์ ํธ์์๋ ๋ถ๋ด์ด ๋ ์ ์์ต๋๋ค. SAPIER์์๋ ์ด๋ฌํ API ํ ์คํธ ์๋น์ค๋ฅผ ์คํ์์ค๋ก ๊ตฌํํ๋ ๊ฒ์ ์ฃผ์ ๋ก ํ์์ผ๋ฉฐ, ๋ฌด๋ฃ๋ก ์๋น์ค๋ฅผ ์ด์ฉํ ์ ์์ต๋๋ค.
"ํ๋ก ํธ ๊ฐ๋ฐ์์ API ๋ช ์ธ์, VScode, ํฌ๋กฌ ์ฐฝ, ๋ฉ์ ์ ...๋ฑ ์ผ๋์ผ ํ ์ฐฝ์ด ๋๋ฌด ๋ง์ ๋ถํธํด"
ํ๋ก ํธ์๋ ๊ฐ๋ฐ์๋ ์ผ๋์ผ ํ๋ ์ฐฝ์ด ๋ง์ ์ฐฝ ๊ด๋ฆฌ๊ฐ ํ์์ ๋๋ค. SAPIER๋ ํฌ๋กฌ ์ต์คํ ์ ๊ธฐ๋ฅ์ ์ง์ํด, API ๋ช ์ธ์๋ฅผ ํฌ๋กฌ ์ฐฝ ์์์ ๋ณผ ์ ์๋๋ก ํด์ ์ด๋ฆฐ ์ฐฝ ์๋ฅผ ์ค์ผ ์ ์์ต๋๋ค.
"์ํฌ์คํ์ด์ค๊ฐ ๋ง์์ง๋ฉด ์ด๋ฆ์ผ๋ก ๊ตฌ๋ถํด์ผํด์ UI๊ฐ ์กฐ๊ธ ๋ถํธํด์ง๋ ๊ฒ ๊ฐ์"
PostMan์ ์ํฌ์คํ์ด์ค ๋ฆฌ์คํธ๋ ๊ฐ ์์ฒญ๋ค์ ๋ฉ์๋ ๋ฐ ๊ฒฐ๊ณผ๊ฐ ์ง๊ด์ ์ธ UI๊ฐ ์๋์ด์ ํ ๋์ ๊ตฌ๋ถํ๊ธฐ ์ด๋ ต๋ค๋ ๋จ์ ์ด ์์ต๋๋ค. MatterMost์ ์ฑ๋ ๋ฆฌ์คํธ UI ๋ฑ์ ์ฐธ๊ณ ํด ์ข๋ ์ง๊ด์ ์ด๊ณ ๋จ์ํ UI๋ก ๋์์ธ์ ๊ฐ์ ํด๋ณด๊ณ ์ ํ์ต๋๋ค.
| FrontEnd | BackEnd | Database | Infra |
|---|---|---|---|
| Vue 3.3.7 | Java 17 (Azul Zulu version 17.0.9) | MongoDB 7.0.2 | AWS EC2 (Ubuntu 20.04 LTS) |
| Vite 5.0.0-beta.12 | Spring Boot 3.1.5 | Redis 7.2.2 | Nginx 1.18.0 |
| VueUse(core) 10.5.0 | Gradle 8.3 | GitLab CICD | |
| UnoCSS 0.57.1 | JPA | Jenkins 2.429 | |
| vite-plugin-vue-devtolls 1.0.0-rc | IntelliJ IDEA 2023.2.5 (Ultimate Edition) |
Docker 24.0.6 | |
| typescript 0.57.1 | Lombok | ||
| Pnpm 8.9.2 | |||
| Pinia 2.1.7 | JWT | ||
| Pinia-plugin-persist 1.0.0 | Spring Data MongoDB | ||
| Pinia-plugin-persistedstate 3.2.0 | Swagger | ||
| vue-json-pretty 2.2.4 | |||
| vue-router 4.2.5 | |||
| vue3-ts-jsoneditor 2.9.0 |
์ธํธ๋ก ํ์ด์ง ์ ๋๋ค. '์์ํ๊ธฐ' ๋ฒํผ์ ๋๋ฅด๋ฉด ๋ก๊ทธ์ธ ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค.
๋ก๊ทธ์ธ์ด ๋์ด์๋ค๋ฉด ๋ฉ์ธ ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค.
๋ก๊ทธ์ธ ํ์ด์ง์ ๋๋ค. ๊ตฌ๊ธ๊ณผ ๊นํ๋ธ ์์ ๋ก๊ทธ์ธ์ด ๊ฐ๋ฅํฉ๋๋ค.
์ฒซ ๋ก๊ทธ์ธ์ ํ์๊ฐ์ ๋ฉ๋๋ค.
๋ฉ์ธํ์ด์ง์ ๋๋ค. ์ข์ธก์ ์ํฌ์คํ์ด์ค ๋ฆฌ์คํธ์ ๋ก๊ทธ์ธํ ์์ ๊ณ์ ์ ์ ๋ณด๊ฐ ๋ํ๋ฉ๋๋ค.
์ต๊ทผ ๋ฐฉ๋ฌธํ ์ํฌ์คํ์ด์ค ์ ๋ณด์ ์๋ ๋ฆฌ์คํธ๊ฐ์์ต๋๋ค.
๋ณด๋ธ ๋ฆฌํ์คํธ ์์ฒญ๋ค์ ํ์ธํ ์ ์์ต๋๋ค. ์ด๋ ์ํฌ์คํ์ด์ค์ ๋ฌด์จ ๋ฉ์๋ ์์ฒญ์ธ์ง ํ์ธํ ์ ์๊ณ , ์๋ต ์ํ์ฝ๋์ ๊ฑธ๋ฆฐ ์๊ฐ์ด ํ์๋ฉ๋๋ค.
ํ์คํ ๋ฆฌ ๋ชฉ๋ก์์ ์์ฒญ๊ธฐ๋ก์ ํด๋ฆญํ๋ฉด, Request์ ๋๊ฐ์ด ์์ฒญ์ ๋ณด๊ฐ ๋ํ๋๊ณ , ์ ์ฅ์ด๋ ์์ฒญ์ผ๋ก ์๋ต์ ํ์ธํ ์ ์์ต๋๋ค.
| ๋ก๊ทธ์ธ |
|---|
![]() |
| - ์์ ๋ก๊ทธ์ธ ์ ๋ฉ์ธ ํ์ด์ง ์ด๋ |
| ์ปฌ๋ ์ |
|---|
![]() |
| - ์ปฌ๋ ์
์์ฑ ๋ฐ ์ด๋ฆ ์์ , ์ญ์ ๊ฐ๋ฅ - ํ์ ์ปฌ๋ ์ ๋ฐ ๋ฆฌํ์คํธ ์์ฑ ๊ฐ๋ฅ - ๋ฆฌํ์คํธ ์ญ์ ๊ฐ๋ฅ |
| ํ์ ๋ก๊ทธ์ธ | ํ๋กํ ์ปฌ๋ ์ | ํ๋กํ ๋ฆฌํ์คํธ |
|---|---|---|
![]() |
![]() |
![]() |
| ํ์ ์์ ๋ก๊ทธ์ธ ๋ฐ ์ฑ๊ณต ํ์ด์ง | ํ๋กํ ์์ ์ปฌ๋ ์ ์์ฑ/์์ /์ญ์ | ํ๋กํ ์์ ๋ฆฌํ์คํธ ์์ฒญ ๋ฐ ์๋ตํ๋ฉด |
| ์๊ตฌ์ฌํญ๋ช ์ธ์ | API ๋ช ์ธ์ |
|---|---|
![]() |
![]() |
| ์์ด์ด ํ๋ ์ | ๋ชฉ์ ๋์์ธ | ๋ฐ์ดํฐํ๋ก์ฐ |
|---|---|---|
![]() |
![]() |
![]() |
| ์์คํ ๊ตฌ์กฐ๋ | ์ง๋ผ ์ด์ |
|---|---|
![]() |
![]() |
| 2์ฃผ์ฐจ ์คํ๋ฆฐํธ | 3์ฃผ์ฐจ ์คํ๋ฆฐํธ | 4์ฃผ์ฐจ ์คํ๋ฆฐํธ |
|---|---|---|
![]() |
![]() |
![]() |
| 5์ฃผ์ฐจ ์คํ๋ฆฐํธ | 6์ฃผ์ฐจ ์คํ๋ฆฐํธ |
|---|---|
![]() |
![]() |
| ๊ฐ์๋ฏผ | ๊น์น์ฉ | ๊น์ฌ์ | ์กฐ์ฑ๋ฝ(ํ์ฅ) | ์ฒ์์ค | ์ต๊ฒฝ์ธ |
|---|---|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| FE Leader BackEnd PM Design |
BackEnd FrontEnd |
FrontEnd Extension |
BackEnd FrontEnd DataBase |
BackEnd FrontEnd Infra |
BackEnd FrontEnd |
๊ฐ์๋ฏผ
- BE : Request API ์์ฒญ ์ฒ๋ฆฌ
- FE
- Request ์ปดํฌ๋ํธ ๊ตฌํ
- Params ์ปดํฌ๋ํธ ๊ตฌํ
- Headers ์ปดํฌ๋ํธ ๊ตฌํ
- Body ์ปดํฌ๋ํธ ๊ตฌํ
- Response ์ปดํฌ๋ํธ ๊ตฌํ
- JSON Viewer & Editor ์ ์ฉ
- Request, Response ์ฐฝ ์กฐ์ ์ด๋ฒคํธ ๊ตฌํ
- Category, Collection Tree ์ปดํฌ๋ํธ ๋ฆฌํํ ๋ง
- ์ฌ๊ท ๊ตฌ์กฐ ์ ๋ฆฌ
- Props ๋ฐ ์ด๋ฒคํธ ์ ๋ฆฌ
- ์์ด์ด ํ๋ ์, ๋ชฉ์ ๋์์ธ
- ์คํฌ๋ผ, ๋ฐ์ผ๋ฆฌ ํ๊ณ ๊ด๋ฆฌ
๊น์น์ฉ
-
Spring Boot ์ mongo data JPA๋ฅผ ํ์ฉํ Workspace ๊ธฐ๋ฅ API ๊ตฌํ
-
Spring Boot๋ฅผ ํ์ฉํ ๋ฉ์ผ ์ด๋ ๊ธฐ๋ฅ ๊ตฌํ
-
Vue3๋ฅผ ํ์ฉํ ํ์ด์ง ๊ตฌํ
- WorkSpace ์์ฑ ์ปดํฌ๋ํธ
- overview ์ปดํฌ๋ํธ
- setting ์ปดํฌ๋ํธ
๊น์ฌ์
-
Vue3๋ฅผ ์ฌ์ฉํ ํ๋ก ํธ์๋ ๊ตฌํ
- Pinia๋ฅผ ์ฌ์ฉํ ์ํ๊ด๋ฆฌ
- ๋ฉ์ธ ํ์ด์ง ๊ตฌํ
- ๋ผ์ฐํธ ๋ค๋น๊ฒ์ด์ ๊ฐ๋ ๊ตฌํ
-
ํฌ๋กฌ ์ต์คํ ์ ๊ฐ๋ฐ
- ํ์ ํ์ด์ง, ์ธ์ ์ ์คํฌ๋ฆฝํธ ํ์ด์ง ๊ตฌํ
- ๋ก๊ทธ์ธ ํ์ , ์ํฌ์คํ์ด์ค ํ๋กํ ํ์ด์ง ๊ตฌํ
์กฐ์ฑ๋ฝ
- Spring Security๋ฅผ ์ด์ฉํ ์ธ์ฆ/์ธ๊ฐ
- Oauth2.0์ ์ด์ฉํ ์์ ๋ก๊ทธ์ธ ๊ตฌํ(๊ตฌ๊ธ, ๊นํ)
- ์ ์ ๊ถํ์ ๋ฐ๋ฅธ ํ์ฉ๊ฐ๋ฅ API ๋ถ๋ฆฌ
- JWT ํ ํผ ๋ฐ๊ธ, ์ฌ๋ฐ๊ธ ๋ฐ ์ปค์คํ ํํฐ ๊ตฌํ
- Vue3๋ฅผ ์ด์ฉํ ํํ์ด์ง ํ๋ฉด๊ตฌํ
- ๋ก๊ทธ์ธ ํ๋ฉด
- ์ธํธ๋ก ํ๋ฉด
- ์ ์ ์ ๋ณด ํ๋ฉด
์ฒ์์ค
- Docker, Jenkins๋ฅผ ํ์ฉํ Front-End, Back-End CI/CD ํ์ดํ๋ผ์ธ ๊ตฌ์ถ
- Spring Boot ๋ฐ MongoDB ํ์ฉํ History ๊ธฐ๋ฅ API ๊ตฌํ
- Vue.js3 ํ์ฉํ History ํ์ด์ง ํ๋ฉด ๊ตฌํ
์ต๊ฒฝ์ธ
- UCC ์ดฌ์/์ ์
- collection์ ํธ๋ฆฌํ์ ํด๋ ๊ตฌ์กฐ๋ฅผ ์ค์ฒฉ๋ฆฌ์คํธ์ Vue.js๋ฅผ ์ฌ์ฉํ์ฌ ๊ตฌํ
- spring boot์ mongo data JPA ๋ฅผ ํ์ฉํ folder ๊ตฌ์กฐ CRUD REST API ๊ตฌํ





















































