Skip to content

smileeeey/DDoreka

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๋˜๋ ˆ์นด

์–ด๋–ค ์ƒํ’ˆ์ด ๋งˆ์Œ์— ๋“œ๋Š”์ง€ ํ—ท๊ฐˆ๋ฆฌ๋Š” ์‚ฌ์šฉ์ž๋“ค์„ ์œ„ํ•œ

'๊ฐ์ •๋ถ„์„ + ์ƒํ’ˆ์ถ”์ฒœ ์‡ผํ•‘๋ชฐ : Eureka' ๋ฆฌํŽ™ํ† ๋ง ํ”„๋กœ์ ํŠธ

๐Ÿ› ๊ฐœ๋ฐœ๊ธฐ๊ฐ„ : 2021.04.12~2021.05.21

Eureka



Our Team

Backend

  • ํŒ€์žฅ ์ด์ˆ˜๋ฏผ(@sumin416)

  • ํŒ€์› ์‹ฌ์žฌํ˜(@JaeHyukSim)

Frontend

  • ํŒ€์› ๊ฐ•๊ตฌ์›(@KangGooWeon)

  • ํŒ€์› ์ •์ค€์˜(@dkwjdi)

๐Ÿ› ๊ฐœ๋ฐœ๊ธฐ๊ฐ„

2021.04.12~2021.05.21



์„œ๋น„์Šค ๊ตฌ์„ฑ๋„

์„œ๋น„์Šค ๊ตฌ์„ฑ๋„



๐Ÿ’ก์œ ๋ ˆ์นด ๊ธฐ๋Šฅ

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

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

โ—พ์นดํ…Œ๊ณ ๋ฆฌ ์กฐํšŒ

์นดํ…Œ๊ณ ๋ฆฌ ์กฐํšŒ

โ—พ์ƒํ’ˆ์กฐํšŒ, ๊ฐ์ •, ์žฅ๋ฐ”๊ตฌ๋‹ˆ ๋“ฑ๋ก

๋””ํ…Œ์ผ ํŽ˜์ด์ง€

โ—พ์žฅ๋ฐ”๊ตฌ๋‹ˆ ์กฐํšŒ ๋ฐ ๊ฒฐ์ œ

๊ฒฐ์ œ

โ—พ๋‚ด๊ฐ€ ๋ณธ ์ƒํ’ˆ ๊ฐ์ • ํ†ต๊ณ„

๋งˆ์ด์œ ๋ ˆ์นด

โ—พ๋งˆ์ดํŽ˜์ด์ง€

๋งˆ์ดํŽ˜์ด์ง€

โ—พํŒ๋งค์žํŽ˜์ด์ง€

โ—พ์ƒํ’ˆ๋“ฑ๋ก

์ƒํ’ˆ๋“ฑ๋ก

โ—พํŒ๋งค์ œํ’ˆ๊ด€๋ฆฌ

ํŒ๋งค์ œํ’ˆ๊ด€๋ฆฌ

โ—พ์ฃผ๋ฌธ์•Œ๋ฆผ

์ฃผ๋ฌธ์•Œ๋ฆผ

โ—พ๋ฐฐ์†ก๊ด€๋ฆฌ

๋ฐฐ์†ก๊ด€๋ฆฌ



๊ธฐ์ˆ  ์Šคํƒ

WEB

DevOps

๊ธฐ์ˆ  ์Šคํƒ
SCM GitLab,Jira
Cloud Service AWS EC2

Front-end

๊ธฐ์ˆ  ์Šคํƒ
Language HTML CSS JavaScript
Framework Vue.js
Library Vuetify Axios chart.js

Back-end

๊ธฐ์ˆ  ์Šคํƒ
Server Architecture MSA
Language Java8
Framework SpringBoot SpringCloud SpringSecurity SpringDataJPA
BuildTool Gradle,Maven
DBMS MySQL
Testing JUnit Locust

Frontend ์‹คํ–‰๋ฐฉ๋ฒ• ๋ฐ ํŒŒ์ผ๊ตฌ์กฐ

Frontend

Backend ์‹คํ–‰๋ฐฉ๋ฒ• ๋ฐ ํŒŒ์ผ๊ตฌ์กฐ

Backend

Frontend Refactoring

1.์„œ๋ฒ„์— ๊ฐ€ํ•ด์ง€๋Š” ๋””๋„์Šค ๊ณต๊ฒฉ ํ•ด๊ฒฐ (for๋ฌธ์„ ํ†ตํ•œ Axiosํ˜ธ์ถœ)



๊ธฐ์กด์˜ ์ฝ”๋“œ๋Š” for๋ฌธ์„ ํ†ตํ•ด Axiosํ†ต์‹ ์„ ์—ฌ๋Ÿฌ๋ฒˆ ํ•œ ๋’ค, response๊ฐ’์— ๋Œ€ํ•ด ๋‹ค์‹œ for๋ฌธ์„ ๋Œ๋ ค Axios๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๊ตฌ์กฐ Backend์—์„œ์˜ Databaseํ†ต์‹ ์€ ์ €๋ ดํ•˜์ง€๋งŒ, ํ”„๋ก ํŠธ์—์„œ ๋ฐฑ์œผ๋กœ์˜ ํ†ต์‹ ์€ ๋น„์šฉ์ด ๋น„์Œˆ => ๋ฐฑ์—”๋“œ์—์„œ ํ•œ ๋ฒˆ์— ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›๋Š” ๊ตฌ์กฐ๋กœ ๋ณ€๊ฒฝ ๋””๋„์Šค1



๋ฉ”์ธ ํ™”๋ฉด์—์„œ ์˜ค๋Š˜์˜ ์ƒํ’ˆ, ์š”์ฆ˜ ๋œจ๋Š” ์ƒํ’ˆ, ์Šคํ…Œ๋””์…€๋Ÿฌ ์ƒํ‘ธ๋ฏธ ์นดํ…Œ๊ณ ๋ฆฌ๋ณ„ ์ถ”์ฒœ์ƒํ’ˆ๋ณ„๋กœ ์ด 4๊ฐœ์˜ ์ปดํฌ๋„ŒํŠธ์—์„œ ๊ฐ๊ฐ ์‚ฌ์ง„์— ๋Œ€ํ•ด Axiosํ†ต์‹ ์„ ํ•˜๋Š” ๊ตฌ์กฐ ํ•œ๋ฒˆ์˜ Axios๋ฅผ ํ†ตํ•ด 4๊ฐœ์˜ ์ปดํฌ๋„ŒํŠธ์— ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์€ ํ›„ Vuex๋ฅผ ํ†ตํ•ด ์ƒํƒœ๊ด€๋ฆฌํ•˜๋Š” ๊ตฌ์กฐ๋กœ ๋ณ€๊ฒฝ ๋””๋„์Šค2 ๋””๋„์Šค2ํ•ด๊ฒฐ

2.์œ ์ง€๋ณด์ˆ˜๊ฐ€ ์–ด๋ ค์šด ์ฝ”๋“œ๋ฅผ ํ•ด๊ฒฐ



๊ธฐ์กด์˜ ์ฝ”๋“œ๋Š” ๊ฐ๊ฐ์˜ ์ปดํฌ๋„ŒํŠธ์—์„œ Axios๋ฅผ ์ง์ ‘ํ˜ธ์ถœ ํ•˜์˜€๊ธฐ ๋•Œ๋ฌธ์— ํ•˜๋‚˜์˜ API๋ฅผ ์ˆ˜์ •ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์—ฌ๋Ÿฌ ์ปดํฌ๋„ŒํŠธ์—์„œ์˜ ์ฝ”๋“œ์ˆ˜์ •์ด ํ•„์š” ์ด๋ฅผ ์œ„ํ•ด API๋ฅผ ๋ชจ๋“ˆํ™”ํ•ด ์œ ์ง€๋ณด์ˆ˜๋ฅผ ์‰ฝ๊ฒŒ ํ•˜์˜€๊ณ  ์ค‘๋ณต์œผ๋กœ ์ผ์–ด๋‚˜๋Š” Axiosํ˜ธ์ถœ ์ฝ”๋“œ๋ฅผ request๊ฐ์ฒด์— ์ €์žฅํ•ด ์ฝ”๋“œ์˜ ์ค‘๋ณต์„ ์ œ๊ฑฐ
๋ฌธ์ œ1 ํ•ด๊ฒฐ

Backend Refactoring

1.์„œ๋ฒ„์— ๊ฐ€ํ•ด์ง€๋Š” ๋””๋„์Šค ๊ณต๊ฒฉ ํ•ด๊ฒฐ (for๋ฌธ์„ ํ†ตํ•œ Axiosํ˜ธ์ถœ)



RestTemplete์ž…๋‹ˆ๋‹ค ์ด ๊ธฐ์ˆ ์„ ์ด์šฉํ•ด ํ”„๋ก ํŠธ์—์„œ ์‚ผ์ค‘ ๋ฐ ์‚ฌ์ค‘ axios ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ ๊ธฐ์กด ์ฝ”๋“œ๋Š” ์ž˜๋ชป๋œ ๋ฐฑ์—”๋“œ์˜ API ์ œ๊ณต์œผ๋กœ ์ธํ•ด ์ง€๋‚˜์น˜๊ฒŒ ๋งŽ์€ API๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. Rest Templete๋ฅผ ํ™œ์šฉํ•ด ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๊ฐ„ API๋ฅผ ์ค„์ด๊ณ , ๋ฐ์ดํ„ฐ๋Š” ์„œ๋ฒ„ ๋‚ด์—์„œ ์ง‘์•ฝํ•˜๋Š” ๊ณผ์ •์„ ๊ฑฐ์ณ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. image

๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง๋ณ„๋กœ API๋ฅผ ์žฌ๊ตฌ์ถ•ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ฉ”์„œ๋“œ์™€ ๋ฆฌ์†Œ์Šค๋ฅผ ๋ช…ํ™•ํžˆ ๊ตฌ๋ถ„ํ•ด์„œ ๊ธฐ์กด์˜ ๋’ค์ฃฝ๋ฐ•์ฃฝ์ธ API ํ˜ธ์ถœ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค. image



์„œ๋ฒ„๊ฐ„ ํ†ต์‹ ์„ ํ•˜๊ธฐ ์œ„ํ•œ RestTemplate ์ ์šฉ์‹œ ๋ชจ๋“  HTTPMethod๋Š” exchange ํ•จ์ˆ˜๋กœ ์ฒ˜๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ get/post ๋“ฑ httpMethod์˜ ๊ณตํ†ต๋กœ์ง์„ ๋งŒ๋“ค์–ด ๋ชจ๋“ˆํ™”ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ, ๋งŒ๋“  ํด๋ž˜์Šค๋ฅผ ๋‹ค์–‘ํ•œ ๊ฒฝ์šฐ์—์„œ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ์ž๋ฐ” ์ œ๋„ค๋ฆญ์„ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. image

2.JUnit5



JUnit5๋ฅผ ํ™œ์šฉํ•˜๊ธฐ๋„ ํ–ˆ์Šต๋‹ˆ๋‹ค. ์›น ๊ฐœ๋ฐœํ•˜๋ฉด์„œ db์ƒ˜ํ”Œ์„ ๋งŒ๋“ค์–ด ์ „ ๊ณผ์ •์„ ํ…Œ์ŠคํŠธํ•˜๋Š” ๊ฒƒ์ด ๋ถˆํŽธํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด Mockito๋ฅผ ํ™œ์šฉํ•ด, ์˜์กด๊ด€๊ณ„๊ฐ€ ์žˆ๋Š” ๋ชจ๋“ˆ์„ ๋…๋ฆฝ์ ์œผ๋กœ ํ…Œ์ŠคํŠธํ•˜์˜€์Šต๋‹ˆ๋‹ค. image

3. Swagger & Java Doc

Java Docs์™€ ์Šค์›จ๊ฑฐ๋ฅผ ํ™œ์šฉํ•ด ๋ฌธ์„œํ™”๋ฅผ ์ˆ˜ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค. ์œ ๋ ˆ์นด๋ฅผ ์œ ์ง€๋ณด์ˆ˜ํ•˜๋ฉด์„œ ์ œ๋Œ€๋กœ ๋ฌธ์„œํ™”๋˜์–ด ์žˆ์ง€ ์•Š์•„ ์ฝ”๋“œ๋ฅผ ํ•ด์„ํ•˜๋Š” ๊ฒƒ์ด ๋„ˆ๋ฌด ํž˜๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์œ ์ง€๋ณด์ˆ˜๋ฅผ ํ•˜๋Š” ํŒ€์ด ๊ฐ™์€ ๊ณผ์ •์„ ๊ฒช์ง€ ์•Š๋„๋ก ํ•˜๊ธฐ ์œ„ํ•ด ๋ฉ”์„œ๋“œ ๋‹จ์œ„๋กœ ํ•˜๋‚˜ํ•˜๋‚˜ ๋ฌธ์„œํ™”ํ•˜๊ณ  ์Šค์›จ๊ฑฐ๋กœ API๋ฅผ ๋ฌธ์„œํ™” ํ•˜์˜€์Šต๋‹ˆ๋‹ค. image

About

Refactoring project of 'Eureka'

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 10