4๋ช ์ ๋จ์๋ค๋ง ๋ชจ์ฌ ๋ค์ ํ๋ก์ ํธ๊ฐ ๋ฑ๋ฑ ํ ์๋ ์์ง๋ง
์ด๋ ํ ๋ถ๋ฝ์ง ์์ ๋๋ฑ์ด๋ค์ด ๋ชจ์์ต๋๋ค.
์ด์ ๊ณผ ๋ฐฐ์์ ๋ํ ์ด์๋งํผ์ ๋จ๋ค์๊ฒ ๋ต๋ต ๊ฑฐ๋ฆด์ ์๋ Man I-dle ์ ๋๋ค.
[PlannerGram]
- ์ฌํ์ง ์ฃผ๋ณ์ ์์,๋์ค๊ตํต,๊ด๊ด์ง ๋ฑ์ ์ ๋ณด๋ค์ ํด๋ผ์ด์ธํธ์๊ฒ ์ ๊ณต ๋ฐ ์ถ์ฒ.
- ์ฌ์ฉ์๋ง์ ์ฌํ์ฝ์ค๋ฅผ ์์ฑํ ๊ฒ์ํ์ ์์ฑํ์ฌ ์ ์ ๋ค๊ฐ์ ์ ๋ณด๊ณต์ ๋ฅผ ๋ชฉ์ ์ผ๋ก ํจ
[PlanerGram ๋ก๊ณ ]
ํ์๋ค๊ณผ ๋ชจ์ฌ ์์ฆ ๊ฐ์์ ๊ด์ฌ์ฌ๋ฅผ ๋งํ๋ ์๊ฐ์ ๊ฐ์ง๋ ์ค, ๊ณตํต ๊ด์ฌ์ฌ๊ฐ โ์ฌํโ์ด๋ผ๋ ํค์๋ ์๊ณ , โ์ฌํโ ๊ด๋ จ์ผ๋ก ์ด๋ค ํ๋ก์ ํธ๋ฅผ ์งํํ๋ฉด ์ข์ ์ง ๊ณ ๋ฏผํ์๋ค.
์ฐ๋ฆฌ๋ ๋ณธ์ธ์ ์ผ์์ ๊ฒ์ํ๋ฉฐ ์ฌ๋๋ค๊ณผ ์ํตํ๋ FaceBook ํน์ Instagram ๊ฐ์ SNS ํ์ด์ง๋ ๋ง์ง๋ง ์ด๋ ํ ์ฃผ์ ์ ๊ตญํ๋์ด ์ฌ๋๋ค๊ณผ ์ํตํ๋ ์ฌ์ดํธ๊ฐ ํ์ฌ ๋ฏธ๋นํ๋ค๊ณ ๋๊ปด์ง๊ฒ ๋์๋ค.
๋๋ฌธ์, ์ฐ๋ฆฌ๋ ์ฌํ๊ณํ์ ์ธ์ธ ๋ ๊ณ ๋ คํด์ผ ํ ์์, ๊ตํต์๋จ, ๊ด๊ด์ง, ๋ ํธ์นด ์ ๋ณด๋ฅผ ์ฌ์ฉ์์๊ฒ ์ ๊ณตํ์ฌ ์ฌ์ฉ์์๊ฒ ์ ์ฉํ ์ ๋ณด๋ฅผ ์ ๋ฌํด์ฃผ๊ณ , ์ฌ์ฉ์๋ค์ด ์ปค๋ฎค๋ํฐ ๊ฒ์ํ์ ๊ธ์ ์ฌ๋ฆฌ๋ฉด์ ์ฌ์ฉ์๊ฐ ์ด์ฉํ ๋ ํธ์นด, ์์, ๊ตํต์๋จ, ๊ด๊ด์ง ์ ๋ณด๋ฅผ ํ ๋์ ๋ณด๊ธฐ ํธํ๋๋ก ๊ณต์ ํ๋ฉฐ ์ฌ์ฉ์๋ค๊ฐ ์ํต์ ๋ชฉ์ ์ผ๋ก ํ ๊ฒ์๊ธ ๊ธฐ๋ฅ์ ๋ง๋ค์ด๋ณด๊ณ ์ โPlannerGramโ ์ด๋ผ๋ ์ฃผ์ ๋ก ํ๋ก์ ํธ๋ฅผ ์ ์ ํ๊ฒ ๋์๋ค.
- 2022.08.15 ~ 2022.09.28
[๋ ธ์ ์ ํตํ ์ฃผ์ฐจ๋ณ ๊ณํ&๊ฒฐ๊ณผ ์ ๋ฆฌ]
-
ํ๋ก ํธ์๋
React
๋ฅผ ์ฌ์ฉํ ํ์ด์ง ๊ตฌํ- ์ฌ์ฌ์ฉ์ฑ์ ๋์ด๊ธฐ ์ํ
component
ํ ReactRouter
๋ฅผ ์ฌ์ฉํ ๋ผ์ฐํ- ๋ฐ๋๋ผ CSS๊ฐ ์๋
MeterialUI
๋ฅผ ์ฌ์ฉํ ํ๋ฉด ๊พธ๋ฏธ๊ธฐ
-
๋ฐฑ์๋
Java
+Spring
+SpringBoot
๋ฅผ ์ฌ์ฉํ CRUD ๊ตฌํ- ๊ทธ์ CRUD๊ฐ ์๋
RESTful
ํ API๋ฅผ ๋ง๋ค๊ธฐ RDB
์ ์ฌ์ฉํ ์ง์์ ์๋ ํ ์ด๋ธ ์ฐ๊ด ๊ด๊ณ ๊ตฌํ- ๋ฌธ์ํ๋ฅผ ์ํด
Swagger
์ฌ์ฉ - ๋ก๊ทธ์ธ์ด ์ค์ํ ์ปค๋ฎค๋ํฐ ๋๋ฌธ์
SpringSecurity
+JWT
๋ฅผ ์ฌ์ฉ
-
์์ง๋์ด
web hook
๊ณผjenkins
๋ฅผ ์ด์ฉํ ์๋compile
,deploy
๋ผ์ธ ๊ตฌ์ถhadoop
๊ณผdocker
๋ฅผ ์ฌ์ฉํ ๋ฐ์ดํฐ ๋ถ์ฐ์ฒ๋ฆฌ ์์คํ MQ
,cron tab
์ ์ด์ฉํ ๋ฐ์ดํฐbatch
์ฒ๋ฆฌ
-
์ ์์ผ ํ๋ก์ธ์ค
-
check in / check out ground Role ๋ฐฉ์์ ํตํ ๋ฉค๋ฒ๋ณ ํ๋ฃจ ๊ณผ์ ๋, ์ถ/ํด๊ทผ์๊ฐ, ํ๊ณ ๋ฑ์ ๊ธฐ๋ก.
-
BackLog๋ฅผ ์์ฑํ์ฌ ํ๋ก์ ํธ ์ด ์์ StoryPoint๋ฅผ ์ง๊ณํ์ฌ ๊ฐ๋ฐ ๊ณํ๊ด๋ฆฌ๋ฅผ ์งํํ๋ ์คํฌ๋ผ(Scrum) ๊ฐ๋ฐ๋ฐฉ๋ฒ๋ก ์ผ๋ก ์งํ.
์คํฌ๋ผ(Scrum) ๊ฐ๋ฐ๋ฐฉ๋ฒ๋ก
-
-
GitHub
- Git์ ํ์ฉํ ์ฝ๋ ํ์๊ด๋ฆฌ.
- ์ด์Tab์ ํ์ฉํ์ฌ ํ์๋ค๊ฐ์ ๊ธฐ์ ๊ณต์ ๋ฐ Exception ๊ณต์ .
- Project Tab์ ํ์ฉํ์ฌ BackLog, Sprint ํ ํ์ฉ.
-
Notion
- ์ฃผ๊ฐ์ผ์ ๊ด๋ฆฌ ๊ณํ & ๊ฒฐ๊ณผ ๊ณต์
- ํ๋ก์ ํธ ์ ๋ฆฌ & ๋ฐํ ์ฐธ๊ณ ์๋ฃ ์์ฑ
-
Figma
- ์ด๊ธฐ ํ๋ฉด๋จ WireFrame ์์ฑ๋น์ ๋ฉค๋ฒ๋ค๊ณผ์ ํ๋ฉด๋จ ๊ตฌ์ถ ํ์ ์์ .
- Figma Tool์ ์ฌ์ฉํ์ฌ ์์
- ํด๋น tool ์ฌ์ฉ์ ํตํด ์์ฌ์ด ํ๋ฉด๋จ ๊ตฌ์ฑ
- ํ๋ก ํธ & ๋ฐฑ์๋ ๊ฐ๋ฐ์ ์ฌ์ด์์์ ์ํํ ๊ฐ๋ฐ๊ด๋ จ ์์ฌ์ํต์ด ์ฉ์ดํด์ง
- User(์ ์ ) : ์๋น์ค๋ฅผ ์ด์ฉํ๋ ์ฌ์ฉ์.
- Rentcar(๋ ํธ์นด) : ์ฐจ๋์ ์ผ์ ๊ธฐ๊ฐ ์ ์์ผ๋ก ๋์ฌํ๋ ์ฌ์ ๋ฐ ๊ทธ ์ฌ์ ์ ํตํด ๋์ฌ๋ ์ฐจ๋์ ๋ปํ๋ค
- Attraction(๊ด๊ด์ง) : ๊ด๊ด, ์ฌํ, ์ ๋์์ ์ญ์ฌ, ๋ฌธํ, ์์ฐ ๊ฒฝ๊ด ๋ฑ์ ๊ด๊ด์์ฐ์ ๊ฐ์ง ์ง์ญ์ ๋ปํ๋ค.
- Stay(์๋ฐ) : ์ฌํ์์ ๊ด๊ด๊ฐ๋ค์ด ์๋ฐ์ ํ ์ ์๋ ์์ค์ด ์๋ ์ ์์ด๋ค.
- TRAIN(๊ธฐ์ฐจ) : ์ฌ๋์ ์ค์ด๋๋ฅด๋ ์ฌ๊ฐ์ฐจ๋ฅผ ๋ปํ๋ค.
- Post(๊ฒ์๊ธ) : ์ฌ๋ฌ ์ฌ๋์ด ๋ณผ ์ ์๋๋ก ์๋น์ค๋๋ ์๋ฒ์ ์ ์ (User)๊ฐ ์ ๋ก๋ ํ ํ ์คํธ๋ฅผ ๋งํ๋ค.
- REPLY(๋๊ธ) : ์๋ฒ์ ์ ๋ก๋ ๋ ๊ฒ์๊ธ(POST)์ ์ ์ (USER)๊ฐ ์งง๊ฒ ๋ง๋ถ์ธ ํ ์คํธ๋ฅผ ๋งํ๋ค.
column | data type | ์ค๋ช |
---|---|---|
attraction_id (PK) | BIGINT | ๊ด๊ด์ง ์๋ณ์ |
name | VARCHAR | ๊ด๊ด์ง ์ด๋ฆ |
address | VARCHAR | ๊ด๊ด์ง ์ฃผ์ |
description | VARCHAR | ๊ด๊ด์ง ์๊ฐ๊ธ |
price | INT | ๊ด๊ด์ง ์ ์ฅ๋ฃ |
likeCount | INT | ๊ด๊ด์ง ์ข์์ ์ซ์ |
- ๊ด๊ด์ง์ ๊ดํ ์ ๋ณด๊ฐ ์ ์ฅ๋๋ ํ ์ด๋ธ
column | data type | ์ค๋ช |
---|---|---|
attraction_like_id (PK) | BIGINT | ์ ์ ๊ฐ ์ข์์ ๋๋ฅธ ๊ด๊ด์ง ์๋ณ์ |
user_id | BIGINT | ์ ์ ์๋ณ์ |
attraction_id | BIGINT | ๊ด๊ด์ง ์๋ณ์2 |
- Attraction(๊ด๊ด์ง)์ ์ข์์๋ฅผ ์ ์ ์ ๋ณด์ ์ฐ๊ฒฐ์์ผ์ฃผ๋ ํ ์ด๋ธ.
column | data type | ์ค๋ช |
---|---|---|
board_id (PK) | BIGINT | ๊ฒ์ํ ์๋ณ์ |
board_name | VARCHAR | ๊ฒ์ํ ์ด๋ฆ |
- POST(๊ฒ์๊ธ)์ ํ์ ์ํฐํฐ๋ก ๊ฐ์ง๋ ๊ฒ์ํ ํ ์ด๋ธ
column | data type | ์ค๋ช |
---|---|---|
platform_id (PK) | BIGINT | ํ๋ซํผ ์๋ณ์ |
city_Code | VARCHAR | ๋์์ฝ๋ |
city_Name | VARCHAR | ๋์์ด๋ฆ |
nodeId | VARCHAR | ๊ธฐ์ฐจ์ญ์ฝ๋ |
nodeName | VARCHAR | ๊ธฐ์ฐจ์ญ์ด๋ฆ |
- ๊ธฐ์ฐจ(OPEN API) ์ญ์ฝ๋ ๋ณํ ํ ์ด๋ธ
column | data type | ์ค๋ช |
---|---|---|
post_id (PK) | BIGINT | ๊ฒ์๊ธ ์๋ณ์ |
user_id | BIGINT | ์ ์ ์๋ณ์ |
board_id | BIGINT | ๊ฒ์ํ ์๋ณ์2 |
title | VARCHAR | ์ ๋ชฉ |
contents | VARCHAR | ๋ณธ๋ฌธ |
like_count | INT | ์ข์์ ์ซ์ |
read_count | INT | ์กฐํ์ |
boardName | VARCHAR | ๊ฒ์ํ ์ด๋ฆ(DTO) |
nickname | VARCHAR | ์์ฑ์ ๋๋ค์(DTO) |
- BOARD(๊ฒ์ํ)์ ํ์ ์ํฐํฐ, ๊ฒ์๊ธ์ ๊ดํ ์ ๋ณด๋ฅผ ๋ด๊ณ ์๋ ํ ์ด๋ธ
column | data type | ์ค๋ช |
---|---|---|
post_attraction_id (PK) | BIGINT | ์ฐธ๊ณ ๋ ๊ด๊ด์ง ์๋ณ์ |
attraction_id | BIGINT | ๊ด๊ด์ง ์๋ณ์ |
post_id | BIGINT | ๊ฒ์๊ธ ์๋ณ์ |
name(DTO) | VARCHAR | ์ด๋ฆ |
address(DTO) | VARCHAR | ์ฃผ์ |
description(DTO) | VARCHAR | ์๊ฐ๊ธ |
price(DTO) | INT | ์ ์ฅ๋ฃ |
likeCount(DTO) | INT | ์ข์์ ์ซ์ |
- POST(๊ฒ์๊ธ)์ ์ ๋ ฅ๋๋ ์ ๋ณด
column | data type | ์ค๋ช |
---|---|---|
post_like_id (PK) | BIGINT | ์ ์ ๊ฐ ์ข์์ ๋๋ฅธ ๊ฒ์๊ธ ์๋ณ์ |
post_id | BIGINT | ๊ฒ์๊ธ ์๋ณ์2 |
user_id | BIGINT | ์ ์ ์๋ณ์ |
- POST(๊ฒ์๊ธ)์ ์ข์์์ ์ ์ ์ ๋ณด๋ฅผ ์ฐ๊ฒฐํด์ฃผ๋ ํ ์ด๋ธ
column | data type | ์ค๋ช |
---|---|---|
post_rentcar_id (PK) | BIGINT | ์ฐธ๊ณ ๋ ๋ ํธ์นด ์๋ณ์ |
rentcar_id | BIGINT | ๋ ํธ์นด ์๋ณ์2 |
post_id | BIGINT | ๊ฒ์๊ธ ์๋ณ์ |
address(DTO) | VARCHAR | ์ ์ฒด์ฃผ์ |
companyName(DTO) | VARCHAR | ์ ์ฒด์ด๋ฆ |
carSort(DTO) | VARCHAR | ์ฐจ๋์ข ๋ฅ |
carName(DTO) | VARCHAR | ์ฐจ๋์ด๋ฆ |
likeCount(DTO) | INT | ์ข์์ ์ซ์ |
- POST(๊ฒ์๊ธ)์ ์ ๋ ฅ๋๋ ์ ๋ณด
column | data type | ์ค๋ช |
---|---|---|
post_stay_id (PK) | BIGINT | ์ฐธ๊ณ ๋ ์์ ์๋ณ์ |
stay_id | BIGINT | ์์ ์๋ณ์ |
post_id | BIGINT | ๊ฒ์๊ธ ์๋ณ์ |
name(DTO) | VARCHAR | ์ด๋ฆ |
address(DTO) | VARCHAR | ์ฃผ์ |
price(DTO) | INT | 1๋ฐ๋น ๊ฐ๊ฒฉ |
checkIn(DTO) | DATETIME | ์ฒดํฌ์ธ ์๊ฐ |
checkOut(DTO) | DATETIME | ์ฒดํฌ์์ ์๊ฐ |
likeCount(DTO) | INT | ์ข์์ ์ซ์ |
- POST(๊ฒ์๊ธ)์ ์ ๋ ฅ๋๋ ์์์ ๋ณด
column | data type | ์ค๋ช |
---|---|---|
post_train_id (PK) | BIGINT | ์ฐธ๊ณ ๋ ๊ธฐ์ฐจ ์๋ณ์ |
post_id | BIGINT | ๊ฒ์๊ธ ์๋ณ์ |
depplacename | VARCHAR | ์ถ๋ฐ์ญ |
arrplacename | VARCHAR | ๋์ฐฉ์ญ |
depplan | VARCHAR | ์ฃผ์ |
price(DTO) | INT | 1๋ฐ๋น ๊ฐ๊ฒฉ |
checkIn(DTO) | DATETIME | ์ฒดํฌ์ธ ์๊ฐ |
checkOut(DTO) | DATETIME | ์ฒดํฌ์์ ์๊ฐ |
likeCount(DTO) | INT | ์ข์์ ์ซ์ |
- POST(๊ฒ์๊ธ)์ ์ ๋ ฅ๋๋ ์ ๋ณด
column | data type | ์ค๋ช |
---|---|---|
rentcar_id (PK) | BIGINT | ๋ ํธ์นด ์๋ณ์ |
address | VARCHAR | ์ ์ฒด์ฃผ์ |
companyName | VARCHAR | ์ ์ฒด์ด๋ฆ |
carSort | VARCHAR | ์ฐจ๋์ข ๋ฅ |
carName | VARCHAR | ์ฐจ๋์ด๋ฆ |
likeCount | INT | ์ข์์์ซ์ |
- ๋ ํธ์นด์ ๊ดํ ์ ๋ณด๊ฐ ์ ์ฅ๋๋ ํ ์ด๋ธ
column | data type | ์ค๋ช |
---|---|---|
rentCar_like_id (PK) | BIGINT | ์ ์ ๊ฐ ์ข์์ ๋๋ฅธ ๋ ํธ์นด ์๋ณ์ |
rentcar_id | BIGINT | ๋ ํธ์นด ์๋ณ์ |
user_id | BIGINT | ์ ์ ์๋ณ์ |
- RENTCAR(๋ ํธ์นด)์ ์ข์์์ ์ ์ ์ ๋ณด๋ฅผ ์ฐ๊ฒฐํด์ฃผ๋ ํ ์ด๋ธ
column | data type | ์ค๋ช |
---|---|---|
reply_id (PK) | BIGINT | ๋๊ธ ์๋ณ์ |
post_id | BIGINT | ๊ฒ์๊ธ ์๋ณ์ |
user_id | BIGINT | ์ ์ ์๋ณ์ |
contents | VARCHAR | ๋ด์ฉ |
nickName(DTO) | VARCHAR | ์์ฑ์ ๋๋ค์ |
- POST(๊ฒ์๊ธ)์ ์ ๋ ฅ๋๋ ๋๊ธ์ ๋ณด
column | data type | ์ค๋ช |
---|---|---|
stay_id (PK) | BIGINT | ์์ ์๋ณ์ |
name | VARCHAR | ์ด๋ฆ |
address | VARCHAR | ์ฃผ์ |
price | INT | 1๋ฐ๋น ๊ฐ๊ฒฉ |
checkIn | DATETIME | ์ฒดํฌ์ธ ์๊ฐ |
checkOut | DATETIME | ์ฒดํฌ์์ ์๊ฐ |
likeCount | INT | ์ข์์ ์ซ์ |
- ์์์ ๊ดํ ์ ๋ณด๊ฐ ์ ์ฅ๋๋ ํ ์ด๋ธ
column | data type | ์ค๋ช |
---|---|---|
stay_like_id (PK) | BIGINT | ์ ์ ๊ฐ ์ข์์ ๋๋ฅธ ์์ ์๋ณ์ |
stay_id | BIGINT | ์์ ์๋ณ์2 |
user_id | BIGINT | ์ ์ ์๋ณ์ |
- STAY(์์)์ ์ข์์์ ์ ์ ์ ๋ณด๋ฅผ ์ฐ๊ฒฐํด์ฃผ๋ ํ ์ด๋ธ
column | data type | ์ค๋ช |
---|---|---|
user_id (PK) | BIGINT | ์ ์ ์๋ณ์ |
username | VARCHAR | ๋ก๊ทธ์ธ ์์ด๋ |
password | VARCHAR | ํจ์ค์๋ |
nickname | VARCHAR | ๋๋ค์ |
roles | VARCHAR | SECURITY๊ถํ |
- ์๋น์ค ์ด์ฉ์๋ค์ ์ ๋ณด๊ฐ ์ ์ฅ๋๋ ํ ์ด๋ธ
column | data type | ์ค๋ช |
---|---|---|
user_info_id (PK) | BIGINT | ์ ์ ์์ธ์ ๋ณด ์๋ณ์ |
user_id | BIGINT | ์ ์ ์๋ณ์ |
profileImg | VARCHAR | ์ ์ ํ๋กํ ์ฌ์ง URL |
VARCHAR | ์ ์ ์ด๋ฉ์ผ |
- ์๋น์ค ์ด์ฉ์๋ค์ ์ถ๊ฐ์ ๋ณด๊ฐ ์ ์ฅ๋๋ ํ ์ด๋ธ
- ๋ฌดํ ๋ฃจํ : ํ ์ด๋ธ๋ค์ ์๋ก ๋งคํํด์ฃผ๋ ๊ณผ์ ์์ Entity๋ฅผ returnํ์ ๋ ๊ฐ์ฒด ์์ ๋ค๋ฅธ Entity๋ฅผ returnํด์ฃผ๋ ๋ฌดํ ์ํ ์ฐธ์กฐ๊ฐ ๋ฐ์๋จ. DTOํจํด ์ ์ฌ์ฉํ์ฌ Entity๋ฅผ ์ง์ ์ฐธ์กฐํ์ง ์๊ณ ๋ returnํ ์ ์๊ฒ ์ฝ๋๋ฅผ ๋ณ๊ฒฝํ์ฌ ๋ฌดํ ๋ฃจํ๋ฅผ ํด๊ฒฐ.
- ํ์ ์๋ฌ : ๋ด์ฅํจ์๋ฅผ ์ฌ์ฉํ ๋ ํ์ ์ด ๋ถ์ผ์นํ์ฌ ์ฌ์ฉ ๋ชปํ๋ ๋ฌธ์ฌ ๋ฐ์ํ์ฌ .orElseThrow(Exception::new) ์ ์ฌ์ฉํ์ฌ ํด๊ฒฐ.
- ์๋ฌ ๊ด๋ฆฌ : ์๋ฌ๋ฐ์์ ์ถ๋ ฅ๋๋ ์๋ฌ๋ฌธ์ ์ ํํ ์ดํดํ์ง ๋ชปํ๋ ํ์ ๋ฐ์ํ์ฌ log๋ฌธ์ ๋ฐ๋ก ์ถ๋ ฅํ์ฌ ์๋ฌ๋ฌธ์ ๋ณด๊ธฐ์ฝ๊ฒ ๊ด๋ฆฌ ๋ฐ ํต์
- ์ธ์คํด์ค ์๋ฒ ์ฐ๊ฒฐ : ๊ฐ์์ ๋ก์ปฌ ์๋ฒ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ด๋ฆฌํ๋ ๋ถ๋ถ์์ ์๋ก ํ์ํ ๋ถ๋ถ์ ๋ฐ์ดํฐ๊ฐ ์ ๋ค์ด๊ฐ๊ฑฐ๋ ํ ์ด๋ธ์ด ๋ฏธ์์ฑ ๋๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ณ ์ ํ๋์ ์ธ์คํด์ค ์๋ฒ๋ก ํ๋์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฌ๋ฌ ์ฌ์ฉ์๊ฐ ์ด์ฉ์ ํ์ฌ ํ ์ด๋ธ์ ๋ถ์ฌ๋ฅผ ๋ฐฉ์ง.
๋๋์ด 2๋ฌ์ ํ๋ก์ ํธ. 6๋ฌ์ ๊ต์ก ๊ธฐ๊ฐ์ด ๋๋ฌ์ต๋๋ค.
์ ๋ง ๋คํฌ๊ธฐ๋ ํ๊ณ ์๊ธฐ๋ ํ๊ณ ์ฑ์ฅ์ ๋ง์ดํ ์๊ฐ์ด์์ต๋๋ค.
๋ชจ๋ ํ๋ก์ ํธ๋ ํ๋ จํจ๋ ์์ง๋ง ์์ฌ์๋ ๋จ๋ ๊ฒ ๊ฐ์ต๋๋ค. ํ๋ก์ ํธ ๊ธฐํ๋ถํฐ ์๋นํ ์ด์ดํ๊ฒ ๋ค์ด๊ฐ๋๋ฐ ๋๋ฌด ์ฌ๋ฐ์์ต๋๋ค.
2๋ฌ์ด ๊ฐ๋ ์ค ๋ชฐ๋์ต๋๋ค. 6๊ฐ์๋์ ๋ง์ ์ฑ์ฅ์ ํ๊ณ ์กฐ๊ธ์ด๋ผ๋ ๊ฐ ๋ฐ์ ๋น์ทํ๊ฒ ๋๊ณ ์๋
๊ฒ ๊ฐ์์ ๋ฟ๋ฏํฉ๋๋ค.
์ค๋ฌด ํ๋ก์ ํธ์ ์ต๋ํ ํก์ฌํ๊ฒ ์งํํ๊ธฐ ์ํด์ Agile์ ๋ํด์ ๊ณต๋ถํ๊ธฐ๋ ํ๊ณ ํ์ ์ ๋ต, ์ปจ๋ฒค์ ์ ๋ํด์ ๋ง์ด ๊ณ ๋ฏผํ์ต๋๋ค. ๊ธฐ์ ์คํ์ ํผ์์ ๊ณต๋ถํ ์ ์์ง๋ง ์ด๋ฐ ํ์ ์ ๊ธฐํ๊ฐ, 2๋ฌ๋์ ํ๋ก์ ํธ๋ฅผ ์ทจ์ ์ ์ ํ ๊ธฐํ๋ ์๋ง ์์ ๊ฒ ๊ฐ์ต๋๋ค. ์ต๋ํ ํํ์๋ ์์ ์ ํ๋ ค๊ณ ํ์ต๋๋ค. ์ฌ๋ฏธ์์์ต๋๋ค. ์กฐ๊ธ๋ง ๋ ์ฌ๊ณ ๋ค๋ค ๋์์์ ํ๋ก์ ํธ ๋๋ฒจ๋กญํฉ์๋ค.
์ฆ๊ฒ๊ฒ ํ์๋ค๊ณผ ํจ๊ป ์ฝ๋ฉ์ ํ๋ฉด์๋ ํ๋ ๋ง๊ณ ์์ฌ์ด ๊ฒ๋ ๋ง์ ํ๋ก์ ํธ์์ต๋๋ค. ์ฐ๋ฆฌ์ ํ๋ก์ ํธ ๊ณผ์ ์ Agile ํ๋ก์ธ์ค๋ฅผ ์ ๋ชฉ์ํจ ๊ฒ์ด ํฐ ์ ํ์ ์ด ๋์์ต๋๋ค. ํ๋ก์ ํธ ์ค๊ฐ์ด์์ง๋ง, ์งง์ ์คํ๋ฆฐํธ์ ํ๋ก์ ํธ ๊ตฌ์ฑ์ ๋ณํ์ ๊ด๋ํด์ง๋ ๊ฒ์ด ์ ์๊ฒ๋ ๋งค์ฐ ํจ๊ณผ์ ์ธ ํ๋ก์ธ์ค๋ผ๊ณ ๋๊ปด์ก์ต๋๋ค.
์งง์ ์คํ๋ฆฐํธ๊ฐ ๊ธฐ๊ฐ์ ์ก์์ฃผ๊ณ , ๊ด๋ํ ๋ง์์ผ๋ก ์์ํ ๊ธฐ๋ฅ๊ณผ ๊ตฌ์ฑ์ ํ์์๋ก ๋ฏธ๋ฃจ๊ฑฐ๋ ๋นผ๋, ๋ฉ์ธ๊ธฐ๋ฅ์ ์กฐ๊ธ ๋ ์ง์คํ ์ ์์์ต๋๋ค.
์ด์ฐ๋๋ ์ด ํ๋ก์ ํธ๋ฅผ ์์ํ ๋ ํจ๊นจํ๋ ํ์๋ค๋ณด๋ค ๋ง์ด ๋ค์ฒ์ง๋ ์ค๋ ฅ์ด๋ผ ์์ํ ๋ ๋ง์ด ๋ฏธ์ํ๋๋ฐ ๋๋ ๋๊น์ง ๋ฏธ์ํฉ๋๋ค. ์ฐ๋ฆฌ๋ชจ๋ ํ์ดํ ์ ๋๋ค.
์์ ๋ถํฐ ๊ธฐ์ ๋ช
์ธ๋ฅผ ์ธ์ธํ๊ฒ ์์ฑํด์ ์ผ์ ์ ๋๋๋ฉด ๋ ์ข์๊ฒ ๊ฐ๋ค๋ ์๊ฐ๋ง ํ์๋๋ฐ
์ค์ ๋ก ๊ทธ๋ฐ์์ผ๋ก ์์ฃผ ์์ ๋จ์๋ก ๋๋ ์ ์ผ์ ์ ์ง๋ ํจ์ฌ ๋ ์ฒด๊ณ์ ์ด๊ณ ๋ญ๋น๋๋ ์๊ฐ์ ์ค์ผ์์์ด์ ์ข์๋ค
ํ์ง๋ง ๋ชจ๋ฅด๋๋ถ๋ถ์ ์งํํ๋๊ฒ์ ์ด ์์
์ด ์ผ๋ง๋ ๊ฑธ๋ฆด์ง, ์ด ์์
์ด ์ผ๋ง๋ ์ด๋ ค์ด์ง ์๋ฌด๊ฒ๋ ํ์
ํ ์์์ด์ ์ผ์ ์ ์ง๋๋ฐ ์ด๋ ค์์ด ์์๋ค ๋ค์์๋ ๋ชจ๋ฅด๋๊ฒ์ด ์์ผ๋ฉด ๋จผ์ ๊ฐ๋จํ๊ฒ ๊ณต๋ถํ๋๊ธฐ๊ฐ๊ณผ ํ ์ดํ๋ก์ ํธ๋ฅผ ์งํํด๋ณด๋ ๊ธฐ๊ฐ์ ๊ฐ์ง๋ ๋ฐฉ์์ ์ฌ์ฉํด๋ณด๋ ค๊ณ ํ๋ค
์ฌ๋ฌ๊ธฐ์ ๋ค์ ๊ธฐ๋ณธ์ ์ธ ๋ฒ ์ด์ค๊ฐ ๋๋ ๊ธฐ์ ์ ์ค์์ฑ์ ๋ง์ด ๋๊ผ๋ค ๊ธฐ๋ณธ์ ์ธ๊ฑธ ์๊ณ ์์ผ๋ฉด ๋ค๋ฅธ๊ธฐ์ ๋ค์ ์ฒด๋ํ๋ ์๋๊ฐ ๋น ๋ฅด๊ฒ ๋ค๋๊ฑธ ์ฒด๊ฐ ํ ์ ์์๋ค
18๊ฐ์ ํ ์ด๋ธ, ์๋ง์ ์ฐ๊ด๊ด๊ณ, ์คํ API ๋ฑ๋ฑ ๋ฐฑ์๋ ๊ฐ๋ฐ์๋ก์ ์ฝ 50์ผ๋์ ๋ง์๊ฑธ ๋ฐฐ์ ๊ณ , ๋ง์ ๊ฑธ ๊ฒฝํํ์๋ค. ์์งํ ํ๋ ์๊ฐ์ด ์ฐพ์์ฌ ๋ ๋ง๋ค ์ข์ ๋ ๋ง์ด ํ์์ง๋ง ๋ด๊ฐ ์๊ฐํ ๋ก์ง๋๋ก ํ๋ก๊ทธ๋จ์ด ์ ๋์๊ฐ์๋ ๋๋ ์ฑ์ทจ๊ฐ๊ณผ ํฌ์ด๋ก ์ง๊ธ๊น์ง ์ ๋ฌ๋ ค์์ ํด๋ผ ์ ์์์ง ์์๋ ์ถ๋ค.
์ด๋ฒ ํ๋ก์ ํธ๋ฅผ ๊ณ๊ธฐ๋ก Git ์ฌ์ฉ๋ฒ์ ๋งค์ฐ ์น๊ทผํด์ก๊ณ , Swagger, JWT, ์ ์์ผ ํ๋ก์ธ์ค๋ฑ ์๋ก์ด๊ฑธ ๋ง์ด ๋ฐฐ์ธ ์ ์์๋ 50์ผ ์ด์๋๊ฒ ๊ฐ๋ค. ๋ํ, APi๋ฅผ ๋ง๋ค๊ณ ๊ฒ์ฆํ๋ ๋จ๊ณ๊ฐ ๊ท์ฐฎ๋๋ผ๋ ๊ผญ ํด์ผํ๋ ์์ ์ธ๊ฒ์ ๊นจ๋ฌ์๊ณ , ์๋ฌด๋ฆฌ ๋ณต์กํ ์ฝ๋๋ผ๋ ๋ด๊ฐ๋ง๋ ์ฝ๋์ธ๋ฐ ์ดํด๊ฐ ์๋์์๋, ํด๋ฆฐ์ฝ๋๊ฐ ํฅํ ์ ์ง๋ณด์์ ์ผ๋ง๋ ์ค์ํ ์ํฅ์ ๋ผ์น๋์ง ๋ค์ ๊นจ๋ซ๊ฒ ๋๋ ์๊ฐ์ด์๋ค.
์ด๋ฒ ํ๋ก์ ํธ์์ JWT ์ธ๊ฐ ์ฒ๋ฆฌ๋ฅผ ํตํด ๋ฉ์๋ ๊ธฐ๋ฅ์ ๋ง๋ค๊ณ ์ถ์๋๋ฐ ์๊ฐ์ ์ฌ์ ๊ฐ ์์ด ๊ตฌํ์ ํ์ง ๋ชปํ๊ฒ ๋๋ฌด ์์ฌ์ ๋ค. ์ง๊ธ ์ด ํ๋ก์ ํธ๋ ์ฌ๊ธฐ์ ๋๋์ง๋ง ์ ๊น ์ฌ์๋ค๊ฐ Develop ์ ์ํด์ ๋ ๋ฌ๋ ค๋๊ฐํ ๋ฐ ๊ทธ ๋๋ ํ๋ ์๊ฐ์ด ์ฐพ์์ค๋ฉด ์ง๊ธ ๊ฐ์ ์ฑ์ทจ๊ฐ์ ์๊ฐํ๋ฉฐ ์ด์ฌํ ํ๋ คํ๋ค.