์๊ฐ | ๊ตฌํ | ๋ง์น๋ฉฐ |
---|---|---|
๐ ๊ฐ์ | ๐ฏ ์ฃผ์ ํ์ด์ง ๋ฐ ๊ธฐ๋ฅ | ๐ฆ ํ์ |
๐ก ํ๋ก์ ํธ ๊ธฐํ | ๐ ์ฐ์ถ๋ฌผ | ๐ฃ ์๊ฐ |
๐ต ๋น๋ ํ๊ฒฝ | ๐ ํ์ผ ๊ตฌ์กฐ๋ |
๐ SSAFY 9๊ธฐ 2ํ๊ธฐ ํนํ ํ๋ก์ ํธ ๐
๋ถ๋ชจ์ ์์ด๋ฅผ ์ํ ๊ธ์ต ๊ต์ก ์ดํ๋ฆฌ์ผ์ด์
์ ๋ง๋ค์ด๋ณด์
2023.08.21 ~ 2023.10.06 (7์ฃผ)
"์์ฆ ์ฒญ์๋ ๋ค์ ๊ธ์ต์ดํด๋ ฅ์ด ๋งค์ฐ ๋จ์ด์ง๋ค๋๋ฐ"
10๋ ์ ๋ณด๋ค ์ ์ ๋ ๋จ์ด์ก๋คโฆ์ฒญ์๋ ๊ธ์ต์ดํด๋ ฅ ํํธ์๋ค๋๋ฐ - ๋งค์ผ๊ฒฝ์
์ฒญ๋ ์ธต ๊ธ์ต์ดํด๋ ฅ, 60๋๋ณด๋ค ๋จ์ด์ ธโฆ 34% "์ ์ถ๋ณด๋ค ์๋น" - ๋์์ผ๋ณด
๋ญ๋Money๋ ์ง๊ธํต, ์ฑ๋ฆฐ์ง, ๊ธ์ตํด์ฆ ๊ธฐ๋ฅ ๋ฑ์ ํตํด ์ด๋ฅผ ํด๊ฒฐํด๋๋ฆฝ๋๋ค.
"์ง๊ธ ์์ค์ ์๋ ๊ธ์ต๊ต์ก ์ดํ๋ฆฌ์ผ์ด์ ์ ์์ด๋ค์ด ์ฐ๊ธฐ์ ๋๋ฌด ์ด๋ ค์"
ํ์ฌ ์์ค์ ์ถ์๋์ด์๋ ๊ธ์ต๊ต์ก ํ๋ซํผ์ ๋๋ถ๋ถ UI/UX๊ฐ ์์ด๋ค์ด ์ฐ๊ธฐ์ ๋ณต์กํฉ๋๋ค.
๋ญ๋Money๋ ๋ถ๋ชจ๊ฐ ๋ณด๋ ํ๋ฉด๊ณผ ์์ด๊ฐ ๋ณด๋ ํ๋ฉด์ ๋ถ๋ฆฌํด ์ด๋ฅผ ํด๊ฒฐํ์์ต๋๋ค.
FrontEnd | BackEnd | Database | Infra |
---|---|---|---|
react 18.2.0 | Java 17 (Azul Zulu version 17.0.7) | MongoDB 3.6.8 | AWS EC2 (Ubuntu 20.04 LTS) |
recoil 0.7.7 | Spring Boot 3.0.10 | Redis 7.2.2 | Nginx 1.18.0 |
recoil-persist 5.1.0 | Spring Security | MariaDB | GitLab CICD |
qrcode.react 3.1.0 | Spring Data JPA | Jenkins 2.414 | |
react-wordcloud 1.2.7 | QueryDSL | Docker 24.0.6 | |
typescript 0.57.1 | Komoran 3.3.4 | AWS S3 | |
Django 4.2.5 |
์๋ ํ๋ฉด | ๋ถ๋ชจ ํ๋ฉด |
---|---|
์๋ ํ๋ฉด์์๋ ๋์ถ์ ์๋ฝ์ฌ๋ถ๊ฐ ๋ณด์ฌ์ง๋๋ค. | ๋ถ๋ชจํ๋ฉด์์๋ ๋์ถ์ ์๋ฝ/๊ฑฐ์ ์ ํ ์ ์์ต๋๋ค. |
๋์ถ์ํ(1) | ๋์ถ์ํ(2) | ๋์ถ์ํ(3) |
---|---|---|
์๋
๊ฐ ๋์ถ์ ์ํํ๋ฉด ์ํ๋ ๋งํผ ์งํ๋ฐ๊ฐ ํ์ฑํ ๋ฉ๋๋ค. |
์ฑ๋ด ์ง๋ฌธ | ์ฑ๋ด ๋ต๋ณ |
---|---|
์ฑ๋ด์๊ฒ ์ง๋ฌธ์ํ๋ฉด ๋ต๋ณ์ด LLM์ ํตํด ์์ฑ๋ฉ๋๋ค. |
์๊ตฌ์ฌํญ๋ช ์ธ์ | API ๋ช ์ธ์ |
---|---|
์์ด์ด ํ๋ ์ | ๋ชฉ์ ๋์์ธ | ERD |
---|---|---|
๐ฆfrontend-web
โฃ ๐public
โ โฃ ๐images
โ โ โฃ ๐Modal
โ โ โ โ ๐Quiz
โ โ โฃ ๐StartPage
โ โ โ ๐StartPage1
โฃ ๐src
โ โฃ ๐apis
โ โฃ ๐assests
โ โ โ ๐image
โ โ โ โฃ ๐faq
โ โ โ โฃ ๐main
โ โ โ โฃ ๐MoneyPage
โ โ โ โฃ ๐quiz
โ โฃ ๐components
โ โ โฃ ๐Chatting
โ โ โฃ ๐Children
โ โ โฃ ๐Common
โ โ โ โฃ ๐About
โ โ โ โฃ ๐Balance
โ โ โ โฃ ๐Bank
โ โ โ โฃ ๐Challenge
โ โ โ โฃ ๐Faq
โ โ โ โฃ ๐GoalMoney
โ โ โ โฃ ๐Main
โ โ โ โฃ ๐MoneyPage
โ โ โ โฃ ๐MyPage
โ โ โ โฃ ๐Quiz
โ โ โฃ ๐Layout
โ โ โ ๐Parents
โ โฃ ๐modal
โ โ โฃ ๐Challenge
โ โ โฃ ๐GoalMoney
โ โ โฃ ๐Loan
โ โ โฃ ๐Mypage
โ โ โฃ ๐Quiz
โ โฃ ๐pages
โ โ โฃ ๐Common
โ โ โ โฃ ๐StartPage
โ โ โฃ ๐Login
โ โฃ ๐states
โ โฃ ๐Styles
๐ฆbackend
โฃ ๐src
โ โฃ ๐main
โ โ โฃ ๐java
โ โ โ โ ๐com
โ โ โ โ โ ๐ntt
โ โ โ โ โ โ ๐mwonimoney
โ โ โ โ โ โ โฃ ๐domain
โ โ โ โ โ โ โ โฃ ๐account
โ โ โ โ โ โ โ โ โฃ ๐api
โ โ โ โ โ โ โ โ โ โฃ ๐request
โ โ โ โ โ โ โ โ โ โฃ ๐response
โ โ โ โ โ โ โ โ โ โฃ ๐v1
โ โ โ โ โ โ โ โ โ โ ๐v2
โ โ โ โ โ โ โ โ โฃ ๐entity
โ โ โ โ โ โ โ โ โฃ ๐model
โ โ โ โ โ โ โ โ โ โฃ ๐dto
โ โ โ โ โ โ โ โ โ โ ๐dtoV2
โ โ โ โ โ โ โ โ โฃ ๐repository
โ โ โ โ โ โ โ โ โ ๐service
โ โ โ โ โ โ โ โ โ โฃ ๐v1
โ โ โ โ โ โ โ โ โ โฃ ๐v2
โ โ โ โ โ โ โ โฃ ๐challenge
โ โ โ โ โ โ โ โ โฃ ๐api
โ โ โ โ โ โ โ โ โ โฃ ๐request
โ โ โ โ โ โ โ โ โ โฃ ๐response
โ โ โ โ โ โ โ โ โฃ ๐entity
โ โ โ โ โ โ โ โ โฃ ๐model
โ โ โ โ โ โ โ โ โ โ ๐dto
โ โ โ โ โ โ โ โ โฃ ๐repository
โ โ โ โ โ โ โ โ โ ๐service
โ โ โ โ โ โ โ โฃ ๐game
โ โ โ โ โ โ โ โ โฃ ๐api
โ โ โ โ โ โ โ โ โ โฃ ๐request
โ โ โ โ โ โ โ โ โฃ ๐entity
โ โ โ โ โ โ โ โ โฃ ๐exception
โ โ โ โ โ โ โ โ โฃ ๐model
โ โ โ โ โ โ โ โ โ โฃ ๐dto
โ โ โ โ โ โ โ โ โ โ ๐vo
โ โ โ โ โ โ โ โ โฃ ๐repository
โ โ โ โ โ โ โ โ โ ๐service
โ โ โ โ โ โ โ โฃ ๐member
โ โ โ โ โ โ โ โ โฃ ๐api
โ โ โ โ โ โ โ โ โ โฃ ๐request
โ โ โ โ โ โ โ โ โฃ ๐entity
โ โ โ โ โ โ โ โ โฃ ๐model
โ โ โ โ โ โ โ โ โ โฃ ๐dto
โ โ โ โ โ โ โ โ โ โ ๐vo
โ โ โ โ โ โ โ โ โฃ ๐repository
โ โ โ โ โ โ โ โ โฃ ๐service
โ โ โ โ โ โ โ โ โ ๐util
โ โ โ โ โ โ โ โ ๐quiz
โ โ โ โ โ โ โ โ โฃ ๐api
โ โ โ โ โ โ โ โ โ โฃ ๐request
โ โ โ โ โ โ โ โ โฃ ๐entity
โ โ โ โ โ โ โ โ โฃ ๐model
โ โ โ โ โ โ โ โ โ โ ๐dto
โ โ โ โ โ โ โ โ โฃ ๐repository
โ โ โ โ โ โ โ โ โ ๐service
โ โ โ โ โ โ โฃ ๐global
โ โ โ โ โ โ โ โฃ ๐common
โ โ โ โ โ โ โ โ โ ๐entity
โ โ โ โ โ โ โ โฃ ๐config
โ โ โ โ โ โ โ โฃ ๐exception
โ โ โ โ โ โ โ โฃ ๐fcm
โ โ โ โ โ โ โ โ โฃ ๐api
โ โ โ โ โ โ โ โ โ โฃ ๐request
โ โ โ โ โ โ โ โ โฃ ๐model
โ โ โ โ โ โ โ โ โ ๐service
โ โ โ โ โ โ โ โฃ ๐schedulerservice
โ โ โ โ โ โ โ โ ๐security
โ โ โ โ โ โ โ โ โฃ ๐jwt
โ โ โ โ โ โ โ โ โ โฃ ๐exception
โ โ โ โ โ โ โ โ โ ๐oauth
โ โ โ โ โ โ โ โ โ โฃ ๐exception
โ โ โ โ โ โ โ โ โ โฃ ๐handler
โ โ โ โ โ โ โ โ โ โฃ ๐info
โ โ โ โ โ โ โ โ โ โ โฃ ๐inpl
โ โ โ โ โ โ โ โ โ โฃ ๐model
โ โ โ โ โ โ โ โ โ โ โ ๐vo
โ โ โ โ โ โ โ โ โ โฃ ๐repository
โ โ โ โ โ โ โ โ โ โฃ ๐service
โ โ โ โ โ โ โ โ โ โ ๐util
โ โ โ ๐resources
Tech | Rocky | Light | Izzy | J | Silver |
---|---|---|---|---|---|
ํ์ฅ Front-end Back-end |
BE Lead | Back-end Security |
Back-end Front-end Design |
FE Lead Design |
BackEnd Infra Design |
- ๋ก๊ทธ์ธ ํ๋ฉด ๊ตฌํ
- ๋ฐธ๋ฐ์ค๊ฒ์ ๋ฐ ํด์ฆ ํ๋ฉด ๊ตฌํ
BE
- Spring Boot ์ JPA๋ฅผ ์ด์ฉํ์ฌ Rest API ๊ตฌํ
- ๋ฉค๋ฒ์ ๋ณด ๊ด๋ จ API
- ๋ถ๋ชจ-์์ ๋งคํ ๊ด๋ จ API
- ํด์ฆ ๊ธฐ๋ฅ ๊ด๋ จ API
- ๋ฐธ๋ฐ์ค๊ฒ์ ๊ด๋ จ API
- ์ง๊ธํต ๊ด๋ จ API
- Spring WebFlux๋ฅผ ์ด์ฉํ์ฌ ์ฑํ ๊ธฐ๋ฅ ๊ตฌํ
- Komoran ํํ์ ๋ถ์๊ธฐ๋ฅผ ์ด์ฉํ์ฌ ์๋ํด๋ผ์ฐ๋ ๊ตฌํ
- S3 ๊ตฌ์ถ ๋ฐ ์ฐ๋
FE
- ์ฑํ ๋ฐ ์๋ํด๋ผ์ฐ๋ ํ๋ฉด ๊ตฌํ
BE
- Spring Security๋ฅผ ์ด์ฉํ ๋ฉค๋ฒ๊ถํ๋ณ ์ธ์ฆ/์ธ๊ฐ ์ฒ๋ฆฌ
- Spring Security์ Oauth2.0์ ์ด์ฉํ ์์
๋ก๊ทธ์ธ ๊ตฌํ
- ์นด์นด์ค ๋ก๊ทธ์ธ ๊ตฌํ
- ๊ตฌ๊ธ ๋ก๊ทธ์ธ ๊ตฌํ
- JWT ํ ํฐ ๋ฐํ ๋ฐ ์ปค์คํ ์ธ์ฆํํฐ ๊ตฌํ
- Swagger ๊ตฌ์ถ
- OpenAI API๋ฅผ ํ์ฉํ ์ฑ๋ด ๊ตฌํ
- Spring Scheduler๋ฅผ ํ์ฉํ ์ ๊ธฐ์ฉ๋ API ๊ตฌํ
FE
- ์ฑ๋ด ํ๋ฉด ๊ตฌํ
BE
- Spring Boot์ JPA๋ฅผ ์ด์ฉํ์ฌ Rest API ๊ตฌํ
- ์ฑ๋ฆฐ์ง ๊ธฐ๋ฅ ๊ตฌํ
FE
- React๋ฅผ ํ์ฉํ ๋ถ๋ชจ/์์ ์ฑ๋ฆฐ์ง ํ๋ฉด ์ค๊ณ ๋ฐ ๊ตฌํ
- ์ง๊ธํต ํ๋ฉด ๊ตฌํ
- ๋ถ๋ชจ์ํ ํ๋ฉด ๊ตฌํ
- ์ ๊ธฐ์ฉ๋ , ํน๋ณ์ฉ๋ ํ๋ฉด ๊ตฌํ
- AWS EC2, Ubuntu, Docker, Jenkins๋ฅผ ํ์ฉํ CI/CD๊ตฌ์ถ
- Django๋ฅผ ์ด์ฉํ์ฌ ๋ฐธ๋ฐ์ค๊ฒ์ ๋ฐ ํด์ฆ ๊ด๋ฆฌ์ํ๋ฉด ๊ตฌํ
- NH Open API ๋ช ์ธ์ ๋ฐ๋ฅธ ๊ธ์ต๊ณ์ข ์์ฑ ๋ฐ ์ญ์ API ๊ตฌํ
- ๊ฐ์กฑ๊ณ์ข ๋ฐ ์ง๊ธํต ๊ด๋ จ Rest API ๊ตฌํ
Tech(๋ฐ๊ธฐํ)
ํ๋ก ํธ์๋๋ฅผ ๋งก์ ํ๋ก์ ํธ๋ฅผ ์งํํ๋ฉด์ ์น ๊ฐ๋ฐ ๋ฅ๋ ฅ์ ํฅ์์ํฌ ์ ์๋ ์๊ฐ์ด์์ต๋๋ค.
Figma๋ถํฐ React๋ฅผ ์ฌ์ฉํ์ฌ ํ๋ฉด์ ๊ตฌ์ฑํ๋ ๊ณผ์ ๊น์ง ์ง์ ๊ฒฝํํ๋ฉฐ ์น ๊ฐ๋ฐ์ ์ ๋ฐ์ ์ธ ๊ณผ์ ์ ์ตํ ์ ์์์ต๋๋ค.
๋ํ, ๋ฐฑ์๋ ํ์๋ค๊ณผ์ ์ํต์ ํตํด ์ปค๋ฎค๋์ผ์ด์ ๋ฅ๋ ฅ๋ ํฅ์์ํฌ ์ ์์์ต๋๋ค.
React๋ฅผ ์ฒ์ ์ฌ์ฉํ๋ฉด์ ์ด๋ ค์์ด ์์์ง๋ง, ํ์๋ค์ ๋์์ผ๋ก ์ฑ๊ณต์ ์ผ๋ก ๋ง๋ฌด๋ฆฌํ ์ ์์์ต๋๋ค.
๋ค๋ค ์๊ณ ํ์ จ์ต๋๋ค.
Rocky(์กฐ์ฑ๋ฝ)
JPA๋ฅผ ์๊ฐํ ๊ฑฐ์ ๋ชจ๋ ๊ฑธ ์ ์ฉํด๋ด์ ๊ธฐ์ ์ ์ฑ์ฅ์ ์ด๋ฃฌ๊ฑฐ ๊ฐ์ ์ฌ๋ฐ์์ต๋๋ค.
๋ค์๋ฒ์๋ Spring Security์ ๋ํด์๋ ์ ๋๋ก ํ๊ณ ๋ค์ด ๊ตฌํํด๋ณด๊ณ ์ถ์ต๋๋ค.
Light(์ค๋ฏผ์ฌ)
Spring Security๋ฅผ ์ฌ์ฉํด์ OAuth์ JWT๋ฅผ ์ด์ฉํ ๋ก๊ทธ์ธ ๊ธฐ๋ฅ์ ๊ตฌํํ๋ฉฐ OAuth์ ์ ๋ฐ์ ์ธ ํ๋ฆ์ ์ ์ ์์๋ค.
ํ์ง๋ง error ์ฒ๋ฆฌ๋ฅผ ์ ๋๋ก ํ์ง ๋ชปํด api ํ ์คํธ๋ฅผ ํ ๋ ์ฌ๋ฌ ์๋ฌ์ ๋ํด ์์ธํ ์๋ ค์ฃผ์ง ๋ชปํ ์ ์ด ์์ฝ๋ค.
๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ๋ค์ ํ๋ก์ ํธ๋ถํฐ๋ ์ฌ๋ฌ error์ ๋ํ exception๊ณผ ๋ชจ๋ error์ ๋ํ exception handler๋ฅผ ๋ง๋ค์ด
ํด๋น ์๋ฌ์ ๋ํด ์ค๋ช ์ ๋์ ธ์ค ๋ ์ํํ๊ฒ ํ๋ก ํธ ํ์๋ถ๋ค๊ณผ ์ํต ํ ์ ์์ผ๋ฉด ์ข๊ฒ ๋ค.
๊ทธ๋ฆฌ๊ณ open AI์ GPT ๋ชจ๋ธ์ ์ฌ์ฉํด ์ฑ๋ด์ ๋ง๋ค์๋๋ฐ ์ฒ์์ด์๊ธฐ ๋๋ฌธ์ ์ ๋๋ก ์ดํดํ์ง ๋ชปํ ์ ์ด ์์ฌ์ด ๊ฒ ๊ฐ๋ค.
๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ๋ค์์๋ ์ฑ๋ด์ ๋ง๋ค ๊ธฐํ๊ฐ ์๊ธด๋ค๋ฉด, ๋ณด๋ค ๋ ์ ํํ ๋ฐ์ดํฐ๋ฅผ ์ป์ด์ vector DB๋ฅผ ๋ง๋ค์ด
์ฑ๋ด์ ์ ์ฉํ๊ณ ์ข ๋ ์์ธํ ํ๋กฌํํธ๋ฅผ ์์ฑํด ์ํ๋ ๋ฐ์ดํฐ๋ฅผ ์ป์ด ๋ณด๊ณ ์ถ๋ค.
Izzy(์ด์งํ)
๋ฐฑ์๋์ ํ๋ก ํธ์๋ ๋ชจ๋์ ์ฐธ์ฌํ๋ฉฐ ์ ์ฒด ์์คํ ์ ๋์์ ์ดํดํ๋ ๊ฒฝํ์ ๋งค์ฐ ์ ์ตํ๋ค.
ํ๋ก์ ํธ์ JPA๋ฅผ ํ์ฉํ๋ฉด์ ํ๋ก์์ ๊ด๋ จ๋ ์ค๋ฅ๋ฅผ ๋ฐ๊ฒฌํ๋ค.
์ค์ ๋ฌธ์ ์ ์ง๋ฉดํ๋ฉฐ ํ๋ก์์ ๋ํ ๊ฐ๋ ์ ํ์คํ ๋ฐฐ์ธ ์ ์์ด์ ์ข์๋ค.
์ ๋ฒ ํ๋ก์ ํธ์์๋ CSS ๋ชจ๋์ ์ฌ์ฉํ์ง๋ง, ์ด๋ฒ์๋ styled component๋ฅผ ๋์ ํ๋ค.
์ด๋ฅผ ํตํด ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ ์ปดํฌ๋ํธ๋ฅผ ์ด๋ป๊ฒ ๊ตฌํํ ์ง์ ๋ํด ๊น๊ฒ ๊ณ ๋ฏผํ ์ ์์๋ค.
์ค๋ฅ๋ฅผ ๋ฐ๊ฒฌํ ๋๋ง๋ค ์ ๋ฅผ ๋จน์ด์ ํ๋ค๊ธด ํ์ง๋ง, ๊ทธ๋งํผ ์ฑ์ฅํ ์ ์์ด์ ์๋ฏธ๊ฐ ๊น๋ค๊ณ ์๊ฐํ๋ค.
J(๊น์ฌ์ด)
ํ๋ก ํธ๊ฐ๋ฐ์๋ก์ ์ฌ์ฉ์ ํธ๋ฆฌ์ฑ์ ๋ค์ ํ๋ฒ ๊ณ ๋ฏผํ๊ฒ ๋ ํ๋ก์ ํธ ์ ๋๋ค.
์๋์ด๋ผ๋ ์ฌ์ฉ์๋ฅผ ๋ง์กฑ์ํค๊ธฐ ์ํ์ฌ ์ฃผ์ ๊ธฐ๋ฅ ์ปดํฌ๋ํธ๋ฅผ ๋ฉ์ธํ๋ฉด์ ๋ฐฐ์นํ์์ต๋๋ค.
์ด๋ฌํ ๊ณผ์ ๋ค์ ํตํ์ฌ ๊ธฐ์ ์ ๋ถ๋ถ ๋ฟ๋ง ์๋๋ผ ์ฌ์ฉ์๋ฅผ ์ใฑ๊ฐํ๋ ๊ฐ๋ฐ์๋ก ์ฑ์ฅํ ์ ์์ด ์ข์์ต๋๋ค.
Silver(์ต๋ฏธ์)
์ด๋ฆฐ์ด๋ฅผ ์ํ ๊ธ์ต ๊ต์ก ํ๋ซํผ์ ๊ฐ๋ฐํ๋ฉฐ ๋ค์ํ ๊ฒฝํ์ ์์ ์ ์์ด์ ์ข์์ต๋๋ค.
๋์์ธ๋ถํฐ ๋ฐฑ์๋ ๊ฐ๋ฐ, ๋ฐฐํฌ๋ฅผ ํ๋ฉด์ ํ๋ก์ ํธ์ ์ฒ์๋ถํฐ ๋๊น์ง ์ฐธ์ฌํ ์ ์์ด ์ ์ฒด์ ์ธ ํ๋ก์ธ์ค๋ฅผ ์ดํดํ๋๋ฐ ๋์์ด ๋์์ต๋๋ค.
ํนํ Jenkins๋ฅผ ํ์ฉํ CI, CD๊ตฌ์ถ์ ํตํด ์ง์์ ์ธ ํตํฉ๊ณผ ๋ฐฐํฌ์ ๋ํ ๊น์ด ์ดํดํ ์ ์์์ต๋๋ค.