๐ BPS_Backend Sever
๐ ๊ฐ๋ฐ ํ๊ฒฝ
JDK 17
SpringBoot 3.2.3
๐ ํ๋ก์ ํธ ๊ตฌ์กฐ
๐ณ Tree ๐ณ
```bash
๐ฆ BPS
โโโ๐ฑ BpsApplication.java
โโโ๐ config # ์ฟ ํค, ์ค์จ๊ฑฐ, ์น ์ค์ ํ์ผ
โโโ๐ mexception # ์์ธ ์ฒ๋ฆฌ ๊ด๋ จ ํด๋์ค
โโโ๐ mproduct # ์ ํ, ์ธ์ผํฐ๋ธ, ์ฌ๊ณ , ์ ํ ๋๋ ํ ๋ฆฌ
โย ย โโโ๐ controller
โย ย โโโ๐ dto
โย ย โโโ๐ entity
โย ย โโโ๐ repository
โย ย โโโ๐ service
โโโ๐ msales # ๊ฑฐ๋์ฒ, ์ํ ํ๋งค ๋๋ ํ ๋ฆฌ
โย ย โโโ๐ controller
โย ย โโโ๐ dto
โย ย โโโ๐ entity
โย ย โโโ๐ repository
โย ย โโโ๐ service
โโโ๐ msystem # ๋ก๊ทธ์ธ, ์ฌ์, ๊ถํ, ์๋ฆผ ๋๋ ํ ๋ฆฌ
โโโ๐ controller
โโโ๐ dto
โโโ๐ entity
โโโ๐ repository
โโโ๐ service
```
๐ ํ๊ฒฝ ๋ณ์
๐พ DB ๊ด๋ จ
DB_URL
DB_USERNAME
DB_PASSWORD
๐ฌ ์ด๋ฉ์ผ ๊ด๋ จ
GMAIL_PASSWORD
๐ป CI/CD ๋ฐฐํฌ ๊ด๋ จ
S3_BUCKET_NAME
CODE_DEPLOY_APP_NAME
CODE_DEPLOY_DEPLOYMENT_GROUP_NAME
AWS_REGION
โ EC2 ํ๊ฒฝ์ค์
# JDK 17 ์ค์น
# Docker ์ค์น
๐ฉ Github Action Deploy to EC2 with docker container
๐ BackEnd API Test - Swagger
โญ ๋ก๊ทธ์ธ
### ๋ก๊ทธ์ธ / ๋ก๊ทธ์์
- DB์ ์ ์ฅ๋์ด์๋ ์ฌ๋ฒ๊ณผ ๋น๋ฐ๋ฒํธ๋ก ๋ก๊ทธ์ธํ๋ค.
- ํด์ฌ์๋ ๋ก๊ทธ์ธํ ์ ์๋ค.
![image](https://github.com/Team5-be01-Final-Project/Backend/assets/149128094/0db5e0ec-e2c8-4393-9252-da1f002967d8)
- ๋ก๊ทธ์ธ์ ์ฑ๊ณตํ ์ฌ๋๋ง ๋ก๊ทธ์์์ ํ ์ ์๋ค.
![image](https://github.com/Team5-be01-Final-Project/Backend/assets/149128094/6fa3f60c-a615-450f-b520-98105cb2b539)
โญ ๋์ ๋ณด๋
### ์จ๋ ์กฐํ
- ์ฐฝ๊ณ ์ ์จ๋๋ฅผ ๋์๋ณด๋์์ ํ์ธํ ์ ์๋ค.
- ๊ฐ ์ฐจ๋ ๋ณ๋ก ์จ๋๋ฅผ ๊ทธ๋ํ๋ฅผ ํตํด ๋์๋ณด๋์์ ํ์ธํ ์ ์๋ค.
![image](https://github.com/Team5-be01-Final-Project/Backend/assets/149128094/7f1b9797-821d-4003-bff4-ba90d91ed9e9)
### ์๋ณ ๋งค์ถ ์กฐํ
- ์๋ณ๋ก ์ด๋งค์ถ ํฉ๊ณ์ ์์ด์ต์ ์กฐํํ ์ ์๋ค.
![image](https://github.com/Team5-be01-Final-Project/Backend/assets/149128094/96ea7cae-ce12-4d38-b235-d3f4ff27dc92)
โญ ์ฌ์ ๊ด๋ฆฌ
### ์ฌ์ ์กฐํ
- ๋ํ์ ํ์ฅ์ ์ ์ง์ ์กฐํ๊ฐ ๊ฐ๋ฅํ์ง๋ง ํ์์ ์กฐํํ ์ ์๋ค.
![image](https://github.com/Team5-be01-Final-Project/Backend/assets/149128094/48814216-ad9f-4e47-9384-5536f5e125db)
- ๋ํ ๊ถํ์๋ง ๊ถํ์ ์์ ํ ์ ์๋ค.
![image](https://github.com/Team5-be01-Final-Project/Backend/assets/149128094/3ee2ae8e-0aaf-4e1f-a0d7-0c07ba44ec3b)
- ๋ํ ๊ถํ์๋ง ์๋ฆผ ์์ ์ฌ๋ถ๋ฅผ ์์ ํ ์ ์๋ค.
![image](https://github.com/Team5-be01-Final-Project/Backend/assets/149128094/a886bed5-5e46-431c-8047-58df8ccac359)
โญ ์ด์ ์จ๋
### ์ด์ ์จ๋ ์๋ฆผ
- ์จ๋๊ฐ ํน์ ๋ฒ์(๋์ฅ(2โผ8โ))๋ฅผ ๋ฒ์ด๋๋ฉด ๊ด๋ฆฌ์(์๋ฆผ๋์์) ์ด๋ฉ์ผ๋ก ์๋ฆผ์ ์ ์กํ๋ค.
- ๊ด๋ฆฌ์(์๋ฆผ๋์์)๋ ์๋ฆผ ๋ก๊ทธ ๋ชฉ๋ก์ ์กฐํํ ์ ์๋ค.
![image](https://github.com/Team5-be01-Final-Project/Backend/assets/149128094/ae0cd521-2fc9-4c6a-937c-1e8baec25891)
โญ ์ ํ ๊ด๋ฆฌ
### ์ ํ ์กฐํ
- ์ ํ ๋ชฉ๋ก ์กฐํ ์ ๋ํ, ํ์ฅ์ ๊ฒฝ์ฐ ๋ชจ๋ ์กฐํํ ์ ์์ง๋ง ์ฌ์์ ๋จ๊ฐ๋ฅผ ์กฐํํ ์ ์๋ค.
![image](https://github.com/Team5-be01-Final-Project/Backend/assets/149128094/1dcd57eb-c022-42dc-8be6-ecbbbd105e7d)
- ํน์ ๊ฑฐ๋์ฒ์ ๋ํ ์ ํ์ ๊ฒ์ํ์ฌ ์กฐํํ ์ ์๋ค.
![image](https://github.com/Team5-be01-Final-Project/Backend/assets/149128094/4dcc8f6a-5230-4e2b-bc35-c9bd4bbccab0)
### ์ ํ ๋ฑ๋ก, ์์ , ์ญ์
- ๊ฑฐ๋์ฒ๋ณ ํ๋งค ๋ชฉ๋ก์ ๋ฑ๋ก์ ๋ํ์ ํ์ฅ๋ง ๊ฐ๋ฅํ๋ค.
![image](https://github.com/Team5-be01-Final-Project/Backend/assets/149128094/145fd939-6ecd-4d92-9a0a-1da1e8f93a67)
- ๊ฑฐ๋์ฒ์ ์ค๋ณต๋ ์กฐ๊ฑด์ ์ ํ์ ๋ฑ๋ก์ด ๋ถ๊ฐ๋ฅํ๋ค.
![image](https://github.com/Team5-be01-Final-Project/Backend/assets/149128094/629d763f-72ea-4a9d-bf50-b53cc44634f6)
- ๋ํ์ ํ์ฅ์ ์์ , ์ญ์ ๊ฐ ๊ฐ๋ฅํ์ง๋ง ์ฌ์์ ๋ถ๊ฐ๋ฅํ๋ค.
![image](https://github.com/Team5-be01-Final-Project/Backend/assets/149128094/c9eed2eb-72dd-4f1e-9d2a-ceda10d004e7)
![image](https://github.com/Team5-be01-Final-Project/Backend/assets/149128094/8a2e6a6c-9ee1-4b4f-8e3c-95fbb79fdc07)
โญ ์ฌ๊ณ ๊ด๋ฆฌ
### ์ฌ๊ณ ์กฐํ
- ์ฌ๊ณ ์กฐํ๋ ํ์ฌ ๋จ์์๋ ์ฌ๊ณ ๋ฅผ ์กฐํํ๋ฉฐ ์ ์ง์์ด ์กฐํํ ์ ์๋ค.
![image](https://github.com/Team5-be01-Final-Project/Backend/assets/149128094/74c35082-121f-4a84-a4b5-35fa806af50c)
- ์ฌ๊ณ ๋ฅผ ๋ฑ๋กํ๊ธฐ ์ํด์ ํน์ ์ ํ์ ๊ฒ์ํ ์ ์๋ค.
![image](https://github.com/Team5-be01-Final-Project/Backend/assets/149128094/3d5fbeb7-236b-48a0-93ab-b53fa4b3a6fe)
- ์ฌ๊ณ ๋ฑ๋ก์ ๋ํ์ ํ์ฅ๋ง ๊ฐ๋ฅํ๋ค.
![image](https://github.com/Team5-be01-Final-Project/Backend/assets/149128094/059c9385-0ff6-4567-ac58-405a3f89fb44)
โญ ์ ํ ๊ด๋ฆฌ
### ์ ํ ์กฐํ
- ์ ํ์ ์ํ๋ ์น์ธ๋๊ธฐ, ์น์ธ์๋ฃ, ๋ฐ๋ ค๊ฐ ์๋ค.
- ๋ชจ๋ ์ ํ ๋ชฉ๋ก์ ์ ์ง์์ด ์กฐํํ ์ ์๋ค.
![image](https://github.com/Team5-be01-Final-Project/Backend/assets/149128094/35e40c03-7a36-4bb5-a1e9-9283b605288d)
- ํด๋น ์ ํ ์กฐํ๋ ์ ํ๋ฅผ ์์ฑํ ํ๋ง ์กฐํ๊ฐ ๊ฐ๋ฅํ๋ค.
![image](https://github.com/Team5-be01-Final-Project/Backend/assets/149128094/94b8eeda-56c9-4b68-818d-ce10ae28395a)
### ์ ํ ๋ฑ๋ก
- ์ ํ ๋ฑ๋ก์ ์ฌ์๋ง ๊ฐ๋ฅํ๋ค.
- ์ผ์๋ณ๋ก ์ถ๊ณ ์ ํ๋ฅผ ๋ฑ๋ก ํ ์ ์๋ค.
![image](https://github.com/Team5-be01-Final-Project/Backend/assets/149128094/36bc001a-7cc1-4a26-8bcb-595453d9c1b2)
- ์ ํ๋ฅผ ๋ฑ๋กํ๋ฉด ์น์ธ ๋๊ธฐ ์ํ๊ฐ ๋๋ค.
![image](https://github.com/Team5-be01-Final-Project/Backend/assets/149128094/3f39b35a-2811-47ba-a047-941680fa0dbc)
- ๋ฑ๋ก๋ ์ ํ์ ๋ชฉ๋ก๋ค์ ์ ์ฌ์์ด ์กฐํ๊ฐ ๊ฐ๋ฅํ๋ค.
![image](https://github.com/Team5-be01-Final-Project/Backend/assets/149128094/2ef69efb-d980-4135-9e63-34d897891986)
![image](https://github.com/Team5-be01-Final-Project/Backend/assets/149128094/be625d84-d74a-4615-81fb-32c7a473ed09)
- ์ ํ ๋ฑ๋ก ์ ์ฌ๊ณ ๋ ์ฐจ๊ฐ์ด ๋๋ค.
![image](https://github.com/Team5-be01-Final-Project/Backend/assets/149128094/4badcf81-0ecd-4574-89cd-e24ded276dff)
### ์ ํ ์น์ธ ๋ฐ ๋ฐ๋ ค
- ๋ํ, ํ์ฅ๋ง ์ ํ ์น์ธ ๋ฐ ๋ฐ๋ ค ๊ถํ์ด ์์ผ๋ฉฐ ๋๊ธฐ ์ํ์ ์ถ๊ณ ์ ํ๋ฅผ ์น์ธ ๋ฐ ๋ฐ๋ ค ํ ์ ์๋ค.
- ๋ฐ๋ ค ์ ์ ํ ๋ฑ๋ก์ ์ฐจ๊ฐ๋์๋ ๋ฌผํ ์๋์ ์ฌ๊ณ ๋ก ์ฌ๋ฑ๋ก ๋๋ค.
![image](https://github.com/Team5-be01-Final-Project/Backend/assets/149128094/33000999-6860-4299-81a5-5cfddf36b0d1)
![image](https://github.com/Team5-be01-Final-Project/Backend/assets/149128094/43745ad3-9e00-4aef-bff2-c8d1f8eb44ce)
โญ ํ๋งค ๊ด๋ฆฌ
### ๋งค์ถ
- ์ ํ๋ณ๋ก ํ๋งค ํํฉ์ ํ
์ด๋ธ๋ก ์กฐํํ ์ ์๋ค.
- ์ฌ์์ ์ ํ๋ช
, ํ๋งค๊ฐ, ์๋, ๋งค์ถ์ก ๋ง ํ์ธํ ์ ์๋ค.
![image](https://github.com/Team5-be01-Final-Project/Backend/assets/149128094/ddde96ec-8f55-4496-918a-959e24de3f83)
- ๊ฑฐ๋์ฒ๋ณ๋ก ํ๋งค ํํฉ์ ํ
์ด๋ธ๋ก ์กฐํํ ์ ์๋ค.
- ์ฌ์์ ์ ํ๋ช
, ํ๋งค๊ฐ, ์๋, ๋งค์ถ์ก ๋ง ํ์ธํ ์ ์๋ค.
![image](https://github.com/Team5-be01-Final-Project/Backend/assets/149128094/7d692f57-8238-4cbb-9a1d-61ef13442b81)
โญ ๊ฑฐ๋์ฒ ๊ด๋ฆฌ
### ๊ฑฐ๋์ฒ ์กฐํ
- ๋งค์ถ ๊ฑฐ๋์ฒ ๋ชฉ๋ก์ ์กฐํ ํ ์ ์๋ค.
![image](https://github.com/Team5-be01-Final-Project/Backend/assets/149128094/57a769ba-c1ad-4baf-8a36-795382018e8a)
### ๊ฑฐ๋์ฒ ๋ฑ๋ก ๋ฐ ์์
- ๋ํ, ํ์ฅ๋ง ๋งค์ถ ๊ฑฐ๋์ฒ ๋ฑ๋ก, ์์ ๊ณผ ์ญ์ ๊ถํ์ด ์์ผ๋ฉฐ ์ฌ์์ ๋ฑ๋ก, ์์ ์ญ์ ๊ธฐ๋ฅ์ ์ด์ฉํ ์ ์๋ค.
![image](https://github.com/Team5-be01-Final-Project/Backend/assets/149128094/49afb06d-2284-4ce0-a991-e8f566243081)
![image](https://github.com/Team5-be01-Final-Project/Backend/assets/149128094/e84ac17e-9b70-4c2a-8c28-fff4eb881c91)
![image](https://github.com/Team5-be01-Final-Project/Backend/assets/149128094/32b257c7-aac8-454f-988f-d29f97e2202f)
![image](https://github.com/Team5-be01-Final-Project/Backend/assets/149128094/4c985664-5f68-41a0-af6a-af1c7a349795)
โญ ์ธ์ผํฐ๋ธ ๊ด๋ฆฌ
### ์ธ์ผํฐ๋ธ ํํฉ
- ๋ํ๋ ์ ์ง์์ ๋ํ ์ธ์ผํฐ๋ธ ์กฐํ๊ฐ ๊ฐ๋ฅํ๋ค.
- ํ์ฅ์ธ ๋ณธ์ธ ํ์์ ๋ํ ์ธ์ผํฐ๋ธ ์กฐํ๊ฐ ๊ฐ๋ฅํ๋ค.
- ์ฌ์์ ์ด ๋ฉ๋ด๋ฅผ ์ด์ฉํ ์ ์๋ค.
![image](https://github.com/Team5-be01-Final-Project/Backend/assets/149128094/0bc1dcd8-459b-40ef-b2c3-73c704f61b55)
โญ My ์์
### ๋ด ์ ๋ณด ์กฐํ
- ์ฌ์์ ์์ ์ ์ ๋ณด๋ฅผ ์กฐํํ ์ ์๋ค.
![image](https://github.com/Team5-be01-Final-Project/Backend/assets/149128094/4c7bac00-a6f2-4d5f-bdf9-aedfaecbf222)
### ๋ด ๊ฑฐ๋์ฒ ์กฐํ
- ์ฌ์์ ์์ ์ ๋ด๋น ๋ณ์์ ๋ํ ์ด๋ฆ, ๋ด๋น์, ๋ด๋น์ ์ ํ๋ฒํธ๋ฅผ ์กฐํํ ์ ์๋ค.
![image](https://github.com/Team5-be01-Final-Project/Backend/assets/149128094/a66733b1-b0d9-4353-8844-ee537b5bfd4f)
### ๋ด ๋งค์ถ ํํฉ
- ์ฌ์์ ์์ ์ ์ต๊ทผ 3๊ฐ์ ๊ฑฐ๋์ฒ ๋น ๋งค์ถํํฉ์ ๋ณผ ์ ์๋ค.
![image](https://github.com/Team5-be01-Final-Project/Backend/assets/149128094/bf5b60b5-82d1-4e01-b8ad-a33d6791b674)
### ๋ด ์ธ์ผํฐ๋ธ
- ์ฌ์์ ์์ ์ ํ์ฌ๋งค์ถ ๋๋น ์ธ์ผํฐ๋ธ๋ฅผ ํ์ธํ ์ ์๋ค.
![image](https://github.com/Team5-be01-Final-Project/Backend/assets/149128094/2758101a-d4a0-4755-bf13-189c57667890)
- ์ถ๊ฐ ๋งค์ถ์ ๊ธฐ์
ํ์ฌ ์์ ์ธ์ผํฐ๋ธ๋ฅผ ํ์ธํ ์ ์๋ค.
- ์๋ฎฌ๋ ์ด์
๊ธฐ๋ฅ์ด๊ธฐ ๋๋ฌธ์ ๋ฐ์ดํฐ๋ฅผ ๋ณํํ์ง ์๋๋ค.
![image](https://github.com/Team5-be01-Final-Project/Backend/assets/149128094/71abc8c5-557b-40f7-b9df-02ea694a646b)
๐ Changelog
changelog.md
๐งพ ๋ฆด๋ฆฌ์ฆ ๋ด์ญ
๋ฆด๋ฆฌ์ฆ ๋ชจ์
- [Release v6.0.0](https://github.com/Team5-be01-Final-Project/Backend/releases/tag/v6.0.0)
- [Release v5.0.0](https://github.com/Team5-be01-Final-Project/Backend/releases/tag/v5.0.0)
- [Release v4.0.0](https://github.com/Team5-be01-Final-Project/Backend/releases/tag/v4.0.0)
- [Release v3.0.0](https://github.com/Team5-be01-Final-Project/Backend/releases/tag/v3.0.0)
- [Release v2.0.0](https://github.com/Team5-be01-Final-Project/Backend/releases/tag/v2.0.0)
- [Release v1.0.0](https://github.com/Team5-be01-Final-Project/Backend/releases/tag/v1.0.0)