๊ฒฝ์ ์ ์ฌ๊ฑด์ด ์ ์ฌํ Peer Group๊ณผ์ ๋น๊ต๋ฅผ ํตํด ์ฌ์ฉ์์ ํฌ์ํ๋๊ณผ ์ํ์์ธ์ ์ ๊ฒํ๋ AI ๊ธ์ต ๋ถ์ ์๋น์ค
Peerfolio๋ ์ฌ์ฉ์์ ์๋, ์ง์ถ, ์ ์ถ ๋ชฉํ, ์์ฐ ๋ฐ ๋ถ์ฑ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ฒฝ์ ์ ์ฌ๊ฑด์ด ์ ์ฌํ Peer Group์ ๊ตฌ์ฑํ๊ณ ,
์ฌ์ฉ์์ Peer Group์ ๊ธ์ต ์์ฐ ๊ตฌ์ฑ ์ฐจ์ด๋ฅผ ๋น๊ตํ์ฌ ํ์ฌ์ ํฌ์ํ๋์ ๊ฐ๊ด์ ์ผ๋ก ์ ๊ฒํ ์ ์๋๋ก ๋๋ ์๋น์ค์
๋๋ค.
ํน์ ๊ธ์ต์ํ์ ์ถ์ฒํ๊ฑฐ๋ ์์ต์ ์์ธกํ์ง ์์ผ๋ฉฐ, Peer Group์ ํ๊ท ์ ์ ์ ํฌํธํด๋ฆฌ์ค๊ฐ ์๋ ๋น๊ต๋ฅผ ์ํ ์ฐธ๊ณ ๊ธฐ์ค์ผ๋ก ํ์ฉํฉ๋๋ค.
๊ธฐ์กด ํฌ์ ์๋น์ค๊ฐ ์์ฅยท์ข
๋ชฉยท์์ต๋ฅ ์ค์ฌ์ ์ ๋ณด๋ฅผ ์ ๊ณตํ๋ค๋ฉด,
Peerfolio๋ ๋์ ๊ฒฝ์ ์ ์ฌ๊ฑด์ด ์ ์ฌํ ์ฌ๋๋ค๊ณผ์ ๋น๊ต๋ฅผ ํตํด ํ์ฌ์ ํฌ์ํ๋์ ํด์ํฉ๋๋ค.
Peer ํ๊ท ์ ์ ๋ต์ด๋ ์ถ์ฒ ํฌํธํด๋ฆฌ์ค๋ก ์ ์ํ์ง ์๊ณ , ์ฌ์ฉ์๊ฐ ์์ ์ ์์ฐ ํธ์ค๊ณผ ์ํ์์ธ์ ์ค์ค๋ก ์ ๊ฒํ ์ ์๋๋ก ๋น๊ต ๊ทผ๊ฑฐ๋ฅผ ์ ๊ณตํฉ๋๋ค.
- ์ด๋ฉ์ผ ๊ธฐ๋ฐ ํ์๊ฐ์ / ๋ก๊ทธ์ธ / ๋ก๊ทธ์์
- Spring Security + JWT ๊ธฐ๋ฐ ์ธ์ฆ ๋ฐ ์ธ๊ฐ
- BCrypt ๊ธฐ๋ฐ ๋น๋ฐ๋ฒํธ ์ํธํ
- SMTP ๊ธฐ๋ฐ ์ด๋ฉ์ผ ์ธ์ฆ
- ํ์ ์ ๋ณด ์กฐํ ๋ฐ ํ์ ํํด
- ์์์ , ๊ณ ์ ์ง์ถ, ์ ์ถ๋ชฉํ, ๋ณด์ ์์ฐ, ๋ถ์ฑ ๊ด๋ฆฌ
- ์ยท์ ๊ธยท์ฑ๊ถ / ๊ตญ๋ด์ฃผ์ / ํด์ธ์ฃผ์ / ๋์ฒดยท๊ณ ์ํ์์ฐ ๊ด๋ฆฌ
- ์์์ฐ ๋ฐ ์ด ๊ธ์ต ์์ฐ ๊ณ์ฐ
- ๊ธ์ต ๋ฐ์ดํฐ ์ ๋ ฅ๊ฐ ๊ฒ์ฆ ๋ฐ ๋์ ์ ์ฅ ์์ ์ฑ ์ฒ๋ฆฌ
- ๊ฒฝ์ ์ ์ฌ๊ฑด์ ๊ธฐ๋ฐ์ผ๋ก ์ฌ์ฉ์ ๊ฐ ์ ์ฌ๋ ๊ณ์ฐ
- ์ ์ฌ๋ ๊ธฐ๋ฐ Peer Group ๊ตฌ์ฑ
- Peer Group์ ๊ธ์ต ํ๋กํ ๋ฐ ํฌ์ ์์ฐ Benchmark ๊ณ์ฐ
- ์ฌ์ฉ์์ Peer Group์ ์์ฐ ๊ธ์ก ๋ฐ ๊ตฌ์ฑ ๋น์จ ๋น๊ต
- ์ต๋ช Peer ์นด๋ ๋ฐ 1:1 ์์ธ ๊ธ์ต ์ ๋ณด ๋น๊ต
- ์ฌ์ฉ์์ Peer Group ๊ฐ ์์ฐ ๊ตฌ์ฑ ์ฐจ์ด ๋ถ์
- ์์ฐ ์ง์ค๋, ๋ถ์ฑ ๋ฐ ๊ณ ์ ์ง์ถ ๋ถ๋ด ๋ฑ์ ๊ธฐ๋ฐ์ผ๋ก ์ํ ์ ์ ๊ณ์ฐ
0 ~ 100๋ฒ์์ ์ํ ์ ์ ๋ฐLOW / MEDIUM / HIGH์ํ ๋จ๊ณ ์ฐ์ถ- ๊ธ์ต ์ ๋ณด ๋ณ๊ฒฝ ์ฌ๋ถ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ถํ์ํ ์ฌ๋ถ์ ๋ฐฉ์ง
- Peer Benchmark์ ์ํ ๋ถ์ ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก OpenAI ๊ธ์ต ๋ถ์ ๋ฌธ๊ตฌ ์์ฑ
- ๊ฐ๋ณ Peer๊ฐ ์๋ ์ง๊ณ๋ Peer Group ๋ฐ์ดํฐ๋ฅผ AI ๋ถ์์ ํ์ฉ
- ์ฌ์ฉ์์ ์ต์ ๊ธ์ต ์ ๋ณด์ ๋ถ์ ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ธ์ต ์ฑ๋ด ์ ๊ณต
- ์ฑ๋ด ์๋ต๋ณ ์ฌ์ฉ์ ํผ๋๋ฐฑ ์ ์ฅ ๋ฐ ์ค๋ณต ์ ์ถ ๋ฐฉ์ง
| Category | Stack |
|---|---|
| Language | Java 21 |
| Framework | Spring Boot |
| ORM | Spring Data JPA |
| Database | MySQL |
| Security | Spring Security, JWT, BCrypt |
| Spring Mail, SMTP | |
| AI | OpenAI API |
| API Docs | Swagger / OpenAPI |
| Build | Gradle |
| Infra | Docker, Docker Compose |
| CI/CD | GitHub Actions |
| Deploy | AWS EC2 |
Peerfolio Backend๋ ๋๋ฉ์ธ ์ค์ฌ ํจํค์ง ๊ตฌ์กฐ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
src/main/java/com/example/peerfolio
โโโ domain
โ โโโ auth
โ โโโ user
โ โโโ emailverification
โ โโโ financialinfo
โ โโโ financialprofile
โ โโโ financialasset
โ โโโ peermatch
โ โโโ analysisresult
โ โโโ chatmessage
โ โโโ chatfeedback
โ
โโโ global
โโโ apiPayload
โโโ config
โโโ openai
โโโ security
โโโ util
๊ฐ ๊ธฐ๋ฅ์ ๋
๋ฆฝ์ ์ธ ๋๋ฉ์ธ์ผ๋ก ๋ถ๋ฆฌํ๊ณ , ๊ณตํต API ์๋ต, Security, OpenAI ์ฐ๋ ๋ฐ ์ค์ ์ global ์์ญ์์ ๊ด๋ฆฌํ์ต๋๋ค.
Peer Similarity, Benchmark, Risk Score ๋ฑ์ ๊ณ์ฐ ๋ก์ง์ ๋ณ๋์ Calculator๋ก ๋ถ๋ฆฌํ์ฌ ๋น์ฆ๋์ค ๋ก์ง์ ์ญํ ์ ๋ช
ํํ๊ฒ ๊ตฌ์ฑํ์ต๋๋ค.
์ฌ์ฉ์ ๊ธ์ต ์ ๋ณด ์
๋ ฅ
โ
๊ฒฝ์ ์ ์ฌ๊ฑด ๊ธฐ๋ฐ Peer Matching
โ
Peer Group Benchmark ๊ณ์ฐ
โ
์ฌ์ฉ์์ Peer Group์ ์์ฐ ๊ตฌ์ฑ ๋น๊ต
โ
์๋ฒ ๊ธฐ๋ฐ ์ํ ์ ์ / ์ํ ๋จ๊ณ ๊ณ์ฐ
โ
OpenAI ๋ถ์ ๋ฌธ๊ตฌ ์์ฑ
โ
AnalysisResult ์ ์ฅ
โ
๋ถ์ ๊ฒฐ๊ณผ ๊ธฐ๋ฐ ๊ธ์ต ์ฑ๋ด
User๋ฅผ ์ค์ฌ์ผ๋ก ๊ธ์ต ํ๋กํ๊ณผ ๊ธ์ต ์์ฐ์ ๊ด๋ฆฌํ๊ณ , Peer Matching ๊ฒฐ๊ณผ์ ๊ธ์ต ๋ถ์ ๋ฐ ์ฑ๋ด ๋ฐ์ดํฐ๋ฅผ ์ฐ๊ฒฐํ๋ ๊ตฌ์กฐ๋ก ์ค๊ณํ์ต๋๋ค.
ERD๋ MVP์ ํต์ฌ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ๊ธฐ์ค์ผ๋ก ์์ฑ๋์์ต๋๋ค.
| Member | Contribution |
|---|---|
| ํ์ง์ฐ (@j2nooh) | ํ๋ก์ ํธ ๊ธฐ๋ณธ ์ค์ , User/Auth API, Spring Security + JWT ์ธ์ฆ/์ธ๊ฐ, SMTP ์ด๋ฉ์ผ ์ธ์ฆ, FinancialProfile / FinancialAsset API, OpenAI ๊ธฐ๋ฐ ๊ธ์ต ์ฑ๋ด API, ์ฑ๋ด ํผ๋๋ฐฑ API |
| ์ฃผํด์ค (@uaeoon) | Peer Matching ๋ฐ Benchmark ๋ก์ง, ํฌ์ ์ํ ์ ์ ๊ณ์ฐ, OpenAI ๊ธฐ๋ฐ ๊ธ์ต ๋ถ์ API, Peer ์นด๋ / 1:1 ์์ธ ๋น๊ต API, Docker ํ๊ฒฝ ๊ตฌ์ฑ, GitHub Actions CI/CD ๋ฐ AWS EC2 ๋ฐฐํฌ |
Swagger๋ฅผ ํตํด ์ฃผ์ Backend API์ ์์ฒญ/์๋ต ๋ช ์ธ๋ฅผ ๋ฌธ์ํํ์ต๋๋ค.
| Domain | ์ฃผ์ ๊ธฐ๋ฅ |
|---|---|
| Auth | ์ด๋ฉ์ผ ์ธ์ฆ, ํ์๊ฐ์ , ๋ก๊ทธ์ธ, ๋ก๊ทธ์์ |
| User | ์ฌ์ฉ์ ์ ๋ณด ์กฐํ, ํ์ ํํด |
| Financial Info | ๊ธ์ต ์ ๋ณด ์ ์ฅ / ์กฐํ / ์์ |
| Analysis | Peer Matching ๋ฐ AI ๊ธ์ต ๋ถ์ |
| Peer | Peer ์นด๋ ๋ฐ ์์ธ ๋น๊ต |
| Chat | AI ๊ธ์ต ์ฑ๋ด |
| Feedback | ์ฑ๋ด ์๋ต ํผ๋๋ฐฑ |
develop Merge
โ
GitHub Actions
โ
Docker Build
โ
AWS EC2
โ
Docker Compose
โ
Spring Boot Server
develop ๋ธ๋์น์ ๋ณ๊ฒฝ์ฌํญ์ด ๋ฐ์๋๋ฉด GitHub Actions๋ฅผ ํตํด Docker Build๋ฅผ ๊ฒ์ฆํ๊ณ , AWS EC2 ํ๊ฒฝ์ ์๋ ๋ฐฐํฌํฉ๋๋ค.
๋ธ๋์น ์ด๋ฆ์ ์๋ ๊ท์น์ ๋ฐ๋ฆ ๋๋ค.
type/์ด์๋ฒํธ-์์
๋ด์ฉ
| Type | ์๋ฏธ | ์์ |
|---|---|---|
| feat | ์๋ก์ด ๊ธฐ๋ฅ ๊ฐ๋ฐ | feat/1-signup |
| fix | ๋ฒ๊ทธ ์์ | fix/2-login-error |
| docs | ๋ฌธ์ ์์ | docs/3-readme |
| refactor | ์ฝ๋ ๋ฆฌํฉํ ๋ง | refactor/4-member-service |
| chore | ์ค์ , ๋น๋, ๊ธฐํ ์์ | chore/5-github-template |
| test | ํ ์คํธ ์ฝ๋ ์์ฑ | test/6-member-service |
์ปค๋ฐ ๋ฉ์์ง๋ ์๋ ํ์์ ์ฌ์ฉํฉ๋๋ค.
type: ์์
๋ด์ฉ
| Type | ์๋ฏธ |
|---|---|
| feat | ์๋ก์ด ๊ธฐ๋ฅ ์ถ๊ฐ |
| fix | ๋ฒ๊ทธ ์์ |
| docs | ๋ฌธ์ ์์ |
| style | ์ฝ๋ ํฌ๋งทํ ๋ฑ ๊ธฐ๋ฅ ๋ณํ ์๋ ์์ |
| refactor | ์ฝ๋ ๋ฆฌํฉํ ๋ง |
| test | ํ ์คํธ ์ฝ๋ ์ถ๊ฐ ๋๋ ์์ |
| chore | ๋น๋ ์ค์ , ํจํค์ง ์ค์ , ๊ธฐํ ์์ |
| rename | ํ์ผ ๋๋ ํด๋๋ช ๋ณ๊ฒฝ |
| remove | ํ์ผ ์ญ์ |