Skip to content

kimsy98/SAPIER

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

967 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๋ชฉ์ฐจ

์†Œ๊ฐœ ๊ตฌํ˜„ ๋งˆ์น˜๋ฉฐ
๐Ÿ“– ๊ฐœ์š” ๐ŸŽฏ ์ฃผ์š” ํŽ˜์ด์ง€ ๋ฐ ๊ธฐ๋Šฅ ๐Ÿ‘ฆ ํŒ€์›
๐Ÿ’ก ํ”„๋กœ์ ํŠธ ๊ธฐํš ๐Ÿš€ ๊ธฐ๋Šฅ์‹œ์—ฐ ๐Ÿ“ฃ ์†Œ๊ฐ
๐ŸŒต ๋นŒ๋“œ ํ™˜๊ฒฝ ๐Ÿ‘€ ์‚ฐ์ถœ๋ฌผ ๐ŸŒฑ ํšŒ๊ณ  ๊ธฐ๋ก
๐Ÿ“š ํŒŒ์ผ ๊ตฌ์กฐ๋„

์†Œ๊ฐœ

๐Ÿ“– ๊ฐœ์š”

๐Ÿ‘ 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 Mail
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

๐Ÿ”ผ ๋ชฉ์ฐจ๋กœ ๋Œ์•„๊ฐ€๊ธฐ


๊ตฌํ˜„

๐ŸŽฏ ์ฃผ์š” ํŽ˜์ด์ง€ ๋ฐ ๊ธฐ๋Šฅ

Intro

์ธํŠธ๋กœํŽ˜์ด์ง€

์ธํŠธ๋กœ ํŽ˜์ด์ง€ ์ž…๋‹ˆ๋‹ค. '์‹œ์ž‘ํ•˜๊ธฐ' ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.
๋กœ๊ทธ์ธ์ด ๋˜์–ด์žˆ๋‹ค๋ฉด ๋ฉ”์ธ ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.



Login & Regist

๋กœ๊ทธ์ธ

๋กœ๊ทธ์ธ ํŽ˜์ด์ง€์ž…๋‹ˆ๋‹ค. ๊ตฌ๊ธ€๊ณผ ๊นƒํ—ˆ๋ธŒ ์†Œ์…œ ๋กœ๊ทธ์ธ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
์ฒซ ๋กœ๊ทธ์ธ์‹œ ํšŒ์›๊ฐ€์ž…๋ฉ๋‹ˆ๋‹ค.



Main

๋ฉ”์ธํŽ˜์ด์ง€

๋ฉ”์ธํŽ˜์ด์ง€์ž…๋‹ˆ๋‹ค. ์ขŒ์ธก์— ์›Œํฌ์ŠคํŽ˜์ด์Šค ๋ฆฌ์ŠคํŠธ์™€ ๋กœ๊ทธ์ธํ•œ ์†Œ์…œ ๊ณ„์ •์˜ ์ •๋ณด๊ฐ€ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.
์ตœ๊ทผ ๋ฐฉ๋ฌธํ•œ ์›Œํฌ์ŠคํŽ˜์ด์Šค ์ •๋ณด์™€ ์•Œ๋žŒ ๋ฆฌ์ŠคํŠธ๊ฐ€์žˆ์Šต๋‹ˆ๋‹ค.



Workspace

Overview Document ์ƒ์„ฑ
์›Œํฌ์ŠคํŽ˜์ด์Šค ์˜ค๋ฒ„๋ทฐ ์›Œํฌ์ŠคํŽ˜์ด์Šค ๋„ํ๋จผํŠธ ์ƒ์„ฑ
์›Œํฌ์ŠคํŽ˜์ด์Šค ์ฒซ ํ™”๋ฉด์ž…๋‹ˆ๋‹ค.
๊ฐ„๋‹จํ•œ ์„ค๋ช… ๋ฐ ๋‚ด๋ถ€ ์ปฌ๋ ‰์…˜์„ ์ฆ๊ฒจ์ฐพ๊ธฐ ํ•ด๋‘˜ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์ขŒ์ธก ์ƒ๋‹จ์˜ '+' ๋ฒ„ํŠผ์œผ๋กœ Document๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
Workspace ์ˆ˜์ • Workspace ์„ธํŒ…
์›Œํฌ์ŠคํŽ˜์ด์Šค ์ˆ˜์ • ์›Œํฌ์ŠคํŽ˜์ด์Šค ์„ธํŒ…
์›Œํฌ์ŠคํŽ˜์ด์Šค์— ๋Œ€ํ•œ ์„ค๋ช…๋ž€์„ ์ˆ˜์ •ํ•œ ๋ชจ์Šต์ž…๋‹ˆ๋‹ค. settingํƒญ์— ๋“ค์–ด๊ฐ„ ๋ชจ์Šต์ž…๋‹ˆ๋‹ค.
์›Œํฌ์ŠคํŽ˜์ด์Šค ์ด๋ฆ„๊ณผ ์ƒ‰์ƒ ๋“ฑ์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
Workspace ์ดˆ๋Œ€ ์ดˆ๋Œ€ ์ˆ˜๋ฝ ์ดˆ๋Œ€ ํ™•์ธ
์›Œํฌ์ŠคํŽ˜์ด์Šค ์ดˆ๋Œ€ ์›Œํฌ์ŠคํŽ˜์ด์Šค ์ดˆ๋Œ€๋ฐ›๊ธฐ ์›Œํฌ์ŠคํŽ˜์ด์Šค ์ดˆ๋Œ€ํ™•์ธ
์ด๋ฉ”์ผ๋กœ ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž๋ฅผ ์›Œํฌ์ŠคํŽ˜์ด์Šค์— ์ดˆ๋Œ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฉ”์ผ ์˜จ ๋ชจ์Šต์ด๋ฉฐ, ๋งํฌ๋ฅผ ๋ˆ„๋ฅด๋ฉด ์ˆ˜๋ฝ๋ฉ๋‹ˆ๋‹ค. ์ดˆ๋Œ€๋ฅผ ์ˆ˜๋ฝํ•˜๋ฉด Overview ์šฐ์ธก ํ•˜๋‹จ์— Contributors์— ์‚ฌ์šฉ์ž ๋ชฉ๋ก์ด ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.
์‚ฌ์šฉ์ž ๊ถŒํ•œ ์„ค์ • Workspace ๋‚˜๊ฐ€๊ธฐ
์›Œํฌ์ŠคํŽ˜์ด์Šค ๊ถŒํ•œ๋ณ€๊ฒฝ ์›Œํฌ์ŠคํŽ˜์ด์Šค ๋‚˜๊ฐ€๊ธฐ
์›Œํฌ์ŠคํŽ˜์ด์Šค ๋ฉค๋ฒ„์˜ ๊ถŒํ•œ์„ admin, member, viewer๋กœ ๋‚˜๋ˆ„์–ด ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. setting ๋ž€ ์ตœํ•˜๋‹จ์—์„œ ์›Œํฌ์ŠคํŽ˜์ด์Šค๋ฅผ ๋– ๋‚˜๊ฑฐ๋‚˜ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


Collection

Document ์˜ต์…˜ Collection ์˜ต์…˜
์ปฌ๋ ‰์…˜์ƒ์„ฑ ์ปฌ๋ ‰์…˜์ˆ˜์ •
document์˜ ์˜ต์…˜์—์„œ ํ•˜์œ„ ์ปฌ๋ ‰์…˜์ถ”๊ฐ€, ๋„ํ๋จผํŠธ ์‚ญ์ œ, ๋„ํ๋จผํŠธ ์ด๋ฆ„ ๋ณ€๊ฒฝ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. collection์˜ ์˜ต์…˜์—์„œ ํ•˜์œ„ ์ปฌ๋ ‰์…˜ ์ถ”๊ฐ€, ์ปฌ๋ ‰์…˜ ์‚ญ์ œ, ๋ฆฌํ€˜์ŠคํŠธ ์ถ”๊ฐ€, ์ปฌ๋ ‰์…˜ ์ด๋ฆ„ ๋ณ€๊ฒฝ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
๋ฆฌํ€˜์ŠคํŠธ ์˜ต์…˜์—์„  ์‚ญ์ œ๊ฐ€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.



Request

Request ์ „์†ก Request Params
๋ฆฌํ€˜์ŠคํŠธ ์ „์†ก ๋ฆฌํ€˜์ŠคํŠธ ํŒŒ๋ผ๋ฏธํ„ฐ
๋ฉ”์„œ๋“œ๋ฅผ ์„ ํƒํ•˜๊ณ  URL์„ ์ž…๋ ฅ ํ›„ 'Send' ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด API ์š”์ฒญ์„ ๋ณด๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์‘๋‹ต ๊ฒฐ๊ณผ๋Š” ํ•˜๋‹จ Response ๋ž€์— ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.
Params ํƒญ์—์„œ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
API์š”์ฒญ ์‹œ ์ฟผ๋ฆฌ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ์ „์†ก๋ฉ๋‹ˆ๋‹ค.
Request ๋ฉ”์„œ๋“œ Request ์ €์žฅ
๋ฆฌํ€˜์ŠคํŠธ ๋ฉ”์„œ๋“œ ๋ฆฌํ€˜์ŠคํŠธ ์„ธ์ด๋ธŒ
http ๋ฉ”์„œ๋“œ๋ฅผ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฆฌํ€˜์ŠคํŠธ์— ์ž…๋ ฅ ๋œ ์ •๋ณด๋ฅผ ๋ฐ”๊พธ๋ฉด ์šฐ์ธก ์ƒ๋‹จ 'Save' ๋ฒ„ํŠผ์ด ํ™œ์„ฑํ™” ๋˜๊ณ , ๋ˆ„๋ฅด๋ฉด ์ €์žฅ๋ฉ๋‹ˆ๋‹ค.
Request Headers Request Body
๋ฆฌํ€˜์ŠคํŠธ ํ—ค๋” ๋ฆฌํ€˜์ŠคํŠธ ๋ฐ”๋””
๋ฆฌํ€˜์ŠคํŠธ์˜ ํ—ค๋”๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
active ์ฒดํฌ๋ฐ•์Šค๋ฅผ ํ†ตํ•ด ํ–‰์˜ ํ™œ์„ฑ/๋น„ํ™œ์„ฑ์„ ์„ค์ • ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
key-value๋กœ ํ—ค๋”๋ฅผ ์„ค์ •ํ•˜๊ณ  Description์— ์„ค๋ช…์„ ์ ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋ฐ”๋””์—๋Š” jsonํ˜•์‹์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ด์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
vue3-ts-jsoneditor์˜ ์—๋””ํ„ฐ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ํ…์ŠคํŠธ ๋ฐ ํŠธ๋ฆฌ๊ตฌ์กฐ๋กœ ํ™•์ธ ๋ฐ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
Request 400 error Request 500 error
๋ฆฌํ€˜์ŠคํŠธ ์—๋Ÿฌ1 ๋ฆฌํ€˜์ŠคํŠธ ์—๋Ÿฌ2
์‘๋‹ต ๊ฒฐ๊ณผ๊ฐ€ 404์ธ ๋ชจ์Šต์ž…๋‹ˆ๋‹ค.
์ƒํƒœ์ฝ”๋“œ๊ฐ€ ๋ถ‰์€์ƒ‰ ๋ฐ”์™€ ํ•จ๊ป˜ ๋ณด์—ฌ์ง‘๋‹ˆ๋‹ค.
์‘๋‹ต ๊ฒฐ๊ณผ๊ฐ€ 503์ธ ๋ชจ์Šต์ž…๋‹ˆ๋‹ค.
์ƒํƒœ์ฝ”๋“œ๊ฐ€ ๋…ธ๋ž€์ƒ‰ ๋ฐ”์™€ ํ•จ๊ป˜ ๋ณด์—ฌ์ง‘๋‹ˆ๋‹ค.


History

ํžˆ์Šคํ† ๋ฆฌ

๋ณด๋‚ธ ๋ฆฌํ€˜์ŠคํŠธ ์š”์ฒญ๋“ค์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์–ด๋А ์›Œํฌ์ŠคํŽ˜์ด์Šค์˜ ๋ฌด์Šจ ๋ฉ”์„œ๋“œ ์š”์ฒญ์ธ์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ๊ณ , ์‘๋‹ต ์ƒํƒœ์ฝ”๋“œ์™€ ๊ฑธ๋ฆฐ ์‹œ๊ฐ„์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.
ํžˆ์Šคํ† ๋ฆฌ ๋ชฉ๋ก์—์„œ ์š”์ฒญ๊ธฐ๋ก์„ ํด๋ฆญํ•˜๋ฉด, Request์™€ ๋˜‘๊ฐ™์ด ์š”์ฒญ์ •๋ณด๊ฐ€ ๋‚˜ํƒ€๋‚˜๊ณ , ์ €์žฅ์ด๋‚˜ ์š”์ฒญ์œผ๋กœ ์‘๋‹ต์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.



Extenstion

ํŒ์—… ๋กœ๊ทธ์ธ ์„ฑ๊ณต
ํŒ์—… ๋กœ๊ทธ์ธ์„ฑ๊ณต
ํฌ๋กฌ ํ™•์žฅํ”„๋กœ๊ทธ๋žจ์œผ๋กœ SAPIER ์„œ๋น„์Šค๋ฅผ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค.
๋กœ๊ทธ์ธ ํŽ˜์ด์ง€์™€ ๊ฐ™์ด ์†Œ์…œ๋กœ ๋กœ๊ทธ์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋กœ๊ทธ์ธ์ด ์„ฑ๊ณตํ•˜๋ฉด, ๋กœ๊ทธ์ธ ์„ฑ๊ณต ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.
ํ”Œ๋กœํŒ… 1 ํ”Œ๋กœํŒ… 2
ํ”Œ๋กœํŒ… ํ”Œ๋กœํŒ…2
ํ™•์žฅํ”„๋กœ๊ทธ๋žจ์—์„œ ์†Œ์…œ๋กœ๊ทธ์ธํ•˜๋ฉด ์šฐ์ธก ํ•˜๋‹จ์— ๋ฒ„ํŠผ์ด ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.
๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๋ฉด ํ”Œ๋กœํŒ… ํŽ˜์ด์ง€๊ฐ€ ๋‚˜ํƒ€๋‚˜์„œ SAPIER ์„œ๋น„์Šค๋ฅผ ์ด์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
ํ™•์žฅํ”„๋กœ๊ทธ๋žจ์—์„œ Request๋ฅผ ๋ณด๋‚ด๊ณ  ์‘๋‹ต์„ ๋ฐ›์€ ๋ชจ์Šต์ž…๋‹ˆ๋‹ค.

๐Ÿ”ผ ๋ชฉ์ฐจ๋กœ ๋Œ์•„๊ฐ€๊ธฐ


๐Ÿš€ ๊ธฐ๋Šฅ์‹œ์—ฐ

๋กœ๊ทธ์ธ
๋กœ๊ทธ์ธ
- ์†Œ์…œ ๋กœ๊ทธ์ธ ์‹œ ๋ฉ”์ธ ํŽ˜์ด์ง€ ์ด๋™
์›Œํฌ์ŠคํŽ˜์ด์Šค
์›Œํฌ์ŠคํŽ˜์ด์Šค
- ์›Œํฌ์ŠคํŽ˜์ด์Šค Overview์—์„œ ์„ค๋ช… ํŽธ์ง‘ ๊ฐ€๋Šฅ
- Setting์—์„œ ์ด๋ฆ„, ์ƒ‰์ƒ ์„ค์ • ๊ฐ€๋Šฅ
- ์ด๋ฉ”์ผ๋กœ ๋ฉค๋ฒ„ ์ดˆ๋Œ€ ๊ฐ€๋Šฅ
- ์›Œํฌ์ŠคํŽ˜์ด์Šค ๋– ๋‚˜๊ธฐ ๋ฐ ์‚ญ์ œ ๊ฐ€๋Šฅ
์ปฌ๋ ‰์…˜
์ปฌ๋ ‰์…˜
- ์ปฌ๋ ‰์…˜ ์ƒ์„ฑ ๋ฐ ์ด๋ฆ„ ์ˆ˜์ •, ์‚ญ์ œ ๊ฐ€๋Šฅ
- ํ•˜์œ„ ์ปฌ๋ ‰์…˜ ๋ฐ ๋ฆฌํ€˜์ŠคํŠธ ์ƒ์„ฑ ๊ฐ€๋Šฅ
- ๋ฆฌํ€˜์ŠคํŠธ ์‚ญ์ œ ๊ฐ€๋Šฅ
๋ฆฌํ€˜์ŠคํŠธ
๋ฆฌํ€˜์ŠคํŠธ
- ์ปฌ๋ ‰์…˜ ๋ฆฌ์ŠคํŠธ์—์„œ ๋ฆฌํ€˜์ŠคํŠธ๋ฅผ ๋ˆ„๋ฅด๋ฉด ์šฐ์ธก์— ์ •๋ณด ํ‘œ์‹œ
- ๋ฆฌํ€˜์ŠคํŠธ ์ œ๋ชฉ, ๋ฉ”์„œ๋“œ, URL, ํŒŒ๋ผ๋ฏธํ„ฐ, ํ—ค๋”, ๋ฐ”๋”” ์ˆ˜์ • ๊ฐ€๋Šฅ. ์ˆ˜์ •ํ•˜๋ฉด 'Save'๋ฒ„ํŠผ์ด ํ™œ์„ฑํ™” ๋˜๊ณ  ๋ˆ„๋ฅด๋ฉด ์ €์žฅ ๋จ
- ํŒŒ๋ผ๋ฏธํ„ฐ์™€ ํ—ค๋”๋Š” ํ‘œ ํ˜•์‹์œผ๋กœ active๋ฅผ ํ†ตํ•ด ํ–‰ ํ™œ์„ฑ/๋น„ํ™œ์„ฑ ๊ฐ€๋Šฅ
- ์ž…๋ ฅ ๋œ ์ •๋ณด๋กœ ์š”์ฒญ์„ ๋ณด๋‚ด ์‘๋‹ต ํ™•์ธ๊ฐ€๋Šฅ
- ์‘๋‹ต์€ 200๋Œ€๋Š” ์ดˆ๋ก, 400๋Œ€๋Š” ๋นจ๊ฐ•, 500๋Œ€๋Š” ๋…ธ๋ž‘์œผ๋กœ ์ƒํƒœ์ฝ”๋“œ์™€ ํ•จ๊ป˜ ์ƒ‰์ƒ์ด ํ‘œ์‹œ ๋จ
- ์‘๋‹ต ์ •๋ณด๋Š” ํ—ค๋”์™€ ๋ฐ”๋””๋กœ ํ‘œ์‹œ๋˜๊ณ , ๊ฐ๊ฐ key-value์™€ jsonํ˜•์‹์œผ๋กœ ํ‘œ์‹œ ๋จ
ํžˆ์Šคํ† ๋ฆฌ
ํžˆ์Šคํ† ๋ฆฌ
- ๋ณด๋‚ธ ์š”์ฒญ ๊ธฐ๋ก์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Œ
- ๋‚ ์งœ๋ณ„๋กœ ๊ตฌ๋ถ„๋˜๊ณ , ์š”์ฒญ์ด ์†Œ์†๋œ ์›Œํฌ์ŠคํŽ˜์ด์Šค๊ฐ€ ํ‘œ์‹œ ๋จ
- ์š”์ฒญ๋งˆ๋‹ค ๋ฉ”์„œ๋“œ์™€ ์ œ๋ชฉ์ด ํ‘œ์‹œ๋˜๊ณ , ์‘๋‹ต ๊ฒฐ๊ณผ์˜ ์ƒํƒœ์ฝ”๋“œ์™€ ์†Œ์š”์‹œ๊ฐ„์ด ๋‚˜ํƒ€๋‚จ
- ์š”์ฒญ๊ธฐ๋ก์„ ํด๋ฆญํ•˜๋ฉด, Request์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์ •๋ณด๊ฐ€ ์ž…๋ ฅ๋˜๊ณ , ๊ฐ™์€ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ
ํŒ์—… ๋กœ๊ทธ์ธ ํ”Œ๋กœํŒ… ์ปฌ๋ ‰์…˜ ํ”Œ๋กœํŒ… ๋ฆฌํ€˜์ŠคํŠธ
ํŒ์—…๋กœ๊ทธ์ธ ํŒ์—…์ปฌ๋ ‰์…˜ ํŒ์—…์š”์ฒญ
ํŒ์—… ์†Œ์…œ๋กœ๊ทธ์ธ ๋ฐ ์„ฑ๊ณต ํŽ˜์ด์ง€ ํ”Œ๋กœํŒ…์—์„œ ์ปฌ๋ ‰์…˜ ์ƒ์„ฑ/์ˆ˜์ •/์‚ญ์ œ ํ”Œ๋กœํŒ…์—์„œ ๋ฆฌํ€˜์ŠคํŠธ ์š”์ฒญ ๋ฐ ์‘๋‹ตํ™”๋ฉด

๐Ÿ”ผ ๋ชฉ์ฐจ๋กœ ๋Œ์•„๊ฐ€๊ธฐ


๐Ÿ‘€ ์‚ฐ์ถœ๋ฌผ

์š”๊ตฌ์‚ฌํ•ญ๋ช…์„ธ์„œ API ๋ช…์„ธ์„œ
์š”๊ตฌ์‚ฌํ•ญ๋ช…์„ธ์„œ API๋ช…์„ธ์„œ
์™€์ด์–ด ํ”„๋ ˆ์ž„ ๋ชฉ์—… ๋””์ž์ธ ๋ฐ์ดํ„ฐํ”Œ๋กœ์šฐ
์™€์ด์–ดํ”„๋ ˆ์ž„ ๋ชฉ์—…๋””์ž์ธ ERD
์‹œ์Šคํ…œ ๊ตฌ์กฐ๋„ ์ง€๋ผ ์ด์Šˆ
์‹œ์Šคํ…œ๊ตฌ์กฐ๋„ ์ง€๋ผ์ด์Šˆ

์ง€๋ผ ๋ฒˆ๋‹ค์šด ์ฐจํŠธ

2์ฃผ์ฐจ ์Šคํ”„๋ฆฐํŠธ 3์ฃผ์ฐจ ์Šคํ”„๋ฆฐํŠธ 4์ฃผ์ฐจ ์Šคํ”„๋ฆฐํŠธ
๋ฒˆ๋‹ค์šด์ฐจํŠธ2 ๋ฒˆ๋‹ค์šด์ฐจํŠธ3 ๋ฒˆ๋‹ค์šด์ฐจํŠธ4
5์ฃผ์ฐจ ์Šคํ”„๋ฆฐํŠธ 6์ฃผ์ฐจ ์Šคํ”„๋ฆฐํŠธ
๋ฒˆ๋‹ค์šด์ฐจํŠธ5 ๋ฒˆ๋‹ค์šด์ฐจํŠธ6

์ตœ์ข…๋ฐœํ‘œ ppt

์ตœ์ข…๋ฐœํ‘œppt


๐Ÿ”ผ ๋ชฉ์ฐจ๋กœ ๋Œ์•„๊ฐ€๊ธฐ

๋งˆ์น˜๋ฉฐ

๐Ÿ‘ฆ ํŒ€์›

๊ฐ•์ˆ˜๋ฏผ ๊น€์Šน์šฉ ๊น€์žฌ์› ์กฐ์„ฑ๋ฝ(ํŒ€์žฅ) ์ฒœ์›์ค€ ์ตœ๊ฒฝ์ธ
๊ฐ•์ˆ˜๋ฏผ ๊น€์Šน์šฉ ๊น€์žฌ์› ์กฐ์„ฑ๋ฝ ์ฒœ์›์ค€ ์ตœ๊ฒฝ์ธ
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 ๊ตฌํ˜„

๐Ÿ”ผ ๋ชฉ์ฐจ๋กœ ๋Œ์•„๊ฐ€๊ธฐ


About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors