๊ฐ๋ฐ ๊ธฐ๊ฐ : 2025๋ 01์ 16์ผ(๋ชฉ) ~ 02์ 14์ผ(๊ธ)
- ํ๋ก์ ํธ๋ช
- ์จ์ ์ฌ๋ ์น๊ตฌ
- ๋ชฉ์
- ์ถ์ , ๊ณต์ฐ ์ ๋ณด ์ ๊ณต ๋ฐ ๋ํ์ ๋ชจ์ ์์ฑ
- ํ๋ฅด์๋
- ํ์ ๊นํ ๋ผ : ์ข์ํ๋ ์์ด๋ ์ฝ์ํธ๋ฅผ ๊ฐ๊ณ ์ถ์๋ฐ, ํผ์ ๊ฐ๊ธฐ์๋ ์ ๋งคํ๋ค... ๊ฐ์ด ๊ฐ ์ฌ๋ ์ด๋ ์๋?
- ์ง์ฅ์ธ ์ต๊ฑฐ๋ถ์ด : ๋ค์ ์ฃผ ๋ฐ์ดํธ๋ ๋ญ ํ์ง? ์ฐ๋ฆฌ ๋๋ค ์ถ์ ๋ ๊ณต์ฐ ์ ๋ณด๋ฅผ ํ๋์ ์ฐพ์๋ณผ ์ ์์๊น?
BE Repo : ๋ฐฑ์๋ ๋ ํฌ ๋ฐ๋ก๊ฐ๊ธฐ
FE Repo : ํ๋ก ํธ ๋ ํฌ ๋ฐ๋ก๊ฐ๊ธฐ
- FE : vite(react + typescript), axios
- BE : SpringBoot, JPA, WebSocket
- ๋ฒ์ ๋ฐ ์ด์๊ด๋ฆฌ : Github
- ํ์ ํด : Discord, Notion, Jira
- ์๋น์ค ๋ฐฐํฌ ํ๊ฒฝ
- FE: vercel
- BE: terraform, gitAction, AWS
- elasticsearch : ncloud, terraform
- ๋์์ธ : Figma,cursor
ํ๋ก์ ํธ ๊ตฌ์กฐ
hfBackend
โโ .DS_Store
โโ Dockerfile
โโ GITCONVENTION.md
โโ README.md
โโ db_dev.trace.db
โโ gradle
โ โโ wrapper
โ โโ gradle-wrapper.jar
โ โโ gradle-wrapper.properties
โโ gradlew
โโ gradlew.bat
โโ infraScript
โ โโ zero_downtime_deploy.py
โโ readme-photo
โโ src
โโ .DS_Store
โโ main
โ โโ .DS_Store
โ โโ generated
โ โ โโ com
โ โ โโ ll
โ โ โโ hfback
โ โ โโ domain
โ โ โ โโ board
โ โ โ โ โโ comment
โ โ โ โ โ โโ entity
โ โ โ โ โ โโ QBoardComment.java
โ โ โ โ โโ notice
โ โ โ โ โโ entity
โ โ โ โ โโ QBoard.java
โ โ โ โ ...
โ โโ java
โ โ โโ com
โ โ โโ ll
โ โ โโ hfback
โ โ โโ HfbackApplication.java
โ โ โโ domain
โ โ โ โโ board
โ โ โ โ โโ comment
โ โ โ โ โ โโ controller
โ โ โ โ โ โ โโ ApiV1BoardCommentController.java
โ โ โ โ โ โโ dto
โ โ โ โ โ โ โโ BoardCommentDto.java
โ โ โ โ โ โโ entity
โ โ โ โ โ โ โโ BoardComment.java
โ โ โ โ โ โโ repository
โ โ โ โ โ โ โโ BoardCommentRepository.java
โ โ โ โ โ โโ service
โ โ โ โ โ โโ BoardCommentService.java
โ โ โ โ โโ notice
โ โ โ โ โโ controller
โ โ โ โ โ โโ ApiV1BoardController.java
โ โ โ โ โโ dto
โ โ โ โ โ โโ BoardDto.java
โ โ โ โ โโ entity
โ โ โ โ โ โโ Board.java
โ โ โ โ โโ repository
โ โ โ โ โ โโ BoardRepository.java
โ โ โ โ โโ service
โ โ โ โ โโ BoardService.java
โ โ โ โโ festival
โ โ โ โ โโ api
โ โ โ โ โ โโ scheduler
โ โ โ โ โ โ โโ FetchApisScheduler.java
โ โ โ โ โ โ โโ FetchKopisScheduler.java
โ โ โ โ โ โโ service
โ โ โ โ โ โ โโ ApiService.java
โ โ โ โ โ โโ serviceImpl
โ โ โ โ โ โโ ApiServiceImpl.java
โ โ โ โ โโ comment
โ โ โ โ โ โโ controller
โ โ โ โ โ โ โโ ApiV1CommentController.java
โ โ โ โ โ โโ dto
โ โ โ โ โ โ โโ CommentDto.java
โ โ โ โ โ โโ entity
โ โ โ โ โ โ โโ Comment.java
โ โ โ โ โ โโ form
โ โ โ โ โ โ โโ AddCommentForm.java
โ โ โ โ โ โ โโ UpdateCommentForm.java
โ โ โ โ โ โโ repository
โ โ โ โ โ โ โโ CommentRepository.java
โ โ โ โ โ โโ service
โ โ โ โ โ โ โโ CommentService.java
โ โ โ โ โ โโ serviceImpl
โ โ โ โ โ โโ CommentServiceImpl.java
โ โ โ โ โโ post
โ โ โ โ โ โโ controller
โ โ โ โ โ โ โโ ApiV1PostController.java
โ โ โ โ โ โโ dto
โ โ โ โ โ โ โโ DetailPostDto.java
โ โ โ โ โ โ โโ PostDto.java
โ โ โ โ โ โโ entity
โ โ โ โ โ โ โโ Post.java
โ โ โ โ โ โโ repository
โ โ โ โ โ โ โโ PostRepository.java
โ โ โ โ โ โโ service
โ โ โ โ โ โ โโ PostService.java
โ โ โ โ โ โโ serviceImpl
โ โ โ โ โ โโ PostServiceImpl.java
โ โ โ โ โโ search
โ โ โ โ โโ controller
โ โ โ โ โ โโ ApiV1PostDocController.java
โ โ โ โ โโ document
โ โ โ โ โ โโ MainPostDoc.java
โ โ โ โ โโ dto
โ โ โ โ โ โโ ResponseFestivalSearch.java
โ โ โ โ โโ repository
โ โ โ โ โ โโ PostDocRepository.java
โ โ โ โ โโ service
โ โ โ โ โโ PostDocService.java
โ โ โ โโ group
โ โ โ โ โโ chat
โ โ โ โ โ โโ chatMessageK6Test
โ โ โ โ โ โ โโ controller
โ โ โ โ โ โ โ โโ ApiV1ChatMessageK6TestController.java
โ โ โ โ โ โ โโ service
โ โ โ โ โ โ โโ ChatMessageK6TestService.java
โ โ โ โ โ โโ controller
โ โ โ โ โ โ โโ ApiV1ChatFileController.java
โ โ โ โ โ โ โโ ApiV1ChatMessageController.java
โ โ โ โ โ โโ entity
โ โ โ โ โ โ โโ ChatMessage.java
โ โ โ โ โ โ โโ ChatRoomUser.java
โ โ โ โ โ โโ enums
โ โ โ โ โ โ โโ ChatRoomUserStatus.java
โ โ โ โ โ โโ repository
โ โ โ โ โ โ โโ ChatMessageRepository.java
โ โ โ โ โ โ โโ ChatRoomUserRepository.java
โ โ โ โ โ โโ request
โ โ โ โ โ โ โโ MessageReadStatusRequest.java
โ โ โ โ โ โ โโ MessageSearchKeywordsRequest.java
โ โ โ โ โ โ โโ RequestMessage.java
โ โ โ โ โ โโ response
โ โ โ โ โ โ โโ ResponseMemberStatus.java
โ โ โ โ โ โ โโ ResponseMessage.java
โ โ โ โ โ โ โโ ResponseMessageCount.java
โ โ โ โ โ โโ search
โ โ โ โ โ โ โโ controller
โ โ โ โ โ โ โ โโ ApiV1ChatMessageDocController.java
โ โ โ โ โ โ โโ document
โ โ โ โ โ โ โ โโ ChatMessageDoc.java
โ โ โ โ โ โ โโ repository
โ โ โ โ โ โ โ โโ ChatMessageDocRepository.java
โ โ โ โ โ โ โโ service
โ โ โ โ โ โ โ โโ ChatMessageDocService.java
โ โ โ โ โ โ โโ serviceImpl
โ โ โ โ โ โ โโ ChatMessageDocServiceImpl.java
โ โ โ โ โ โโ service
โ โ โ โ โ โ โโ ChatMessageService.java
โ โ โ โ โ โ โโ ChatS3Service.java
โ โ โ โ โ โโ serviceImpl
โ โ โ โ โ โโ ChatMessageServiceImpl.java
โ โ โ โ โ โโ ChatS3ServiceImpl.java
โ โ โ โ โโ chatRoom
โ โ โ โ โโ controller
โ โ โ โ โ โโ ApiV1ChatRoomController.java
โ โ โ โ โโ converter
โ โ โ โ โ โโ StringDoubleListConverter.java
โ โ โ โ โ โโ StringListConverter.java
โ โ โ โ โโ dto
โ โ โ โ โ โโ ChatRoomDto.java
โ โ โ โ โ โโ DetailChatRoomDto.java
โ โ โ โ โโ entity
โ โ โ โ โ โโ ChatRoom.java
โ โ โ โ โโ form
โ โ โ โ โ โโ CreateChatRoomForm.java
โ โ โ โ โ โโ UpdateChatRoomForm.java
โ โ โ โ โโ repository
โ โ โ โ โ โโ ChatRoomRepository.java
โ โ โ โ โโ service
โ โ โ โ โ โโ ChatRoomService.java
โ โ โ โ โโ serviceImpl
โ โ โ โ โโ ChatRoomServiceImpl.java
โ โ โ โโ home
โ โ โ โ โโ main
โ โ โ โ โโ controller
โ โ โ โ โโ MainController.java
โ โ โ โโ member
โ โ โ โโ alert
โ โ โ โ โโ controller
โ โ โ โ โ โโ ApiV1AlertController.java
โ โ โ โ โโ dto
โ โ โ โ โ โโ AlertRequest.java
โ โ โ โ โ โโ AlertResponse.java
โ โ โ โ โโ entity
โ โ โ โ โ โโ Alert.java
โ โ โ โ โโ enums
โ โ โ โ โ โโ AlertType.java
โ โ โ โ โ โโ BoardAlertType.java
โ โ โ โ โโ ...
โ โ โ โ โโ events
โ โ โ โ โ โโ AlertEvent.java
โ โ โ โ โ โโ AlertEventHandler.java
โ โ โ โ โโ ...
โ โ โ โ โโ repository
โ โ โ โ โ โโ AlertRepository.java
โ โ โ โ โโ service
โ โ โ โ โโ AlertEventPublisher.java
โ โ โ โ โโ AlertService.java
โ โ โ โโ auth
โ โ โ โ โโ config
โ โ โ โ โ โโ AsyncConfig.java
โ โ โ โ โ โโ EmailConfig.java
โ โ โ โ โ โโ SmsConfig.java
โ โ โ โ โโ controller
โ โ โ โ โ โโ ApiV1AuthController.java
โ โ โ โ โโ dto
โ โ โ โ โ โโ EmailInfo.java
โ โ โ โ โ โโ EmailRequest.java
โ โ โ โ โ โโ EmailVerifyRequest.java
โ โ โ โ โโ ...
โ โ โ โ โโ entity
โ โ โ โ โ โโ SocialAccount.java
โ โ โ โ โโ repository
โ โ โ โ โ โโ SocialAccountRepository.java
โ โ โ โ โโ service
โ โ โ โ โโ AuthService.java
โ โ โ โ โโ AuthTokenService.java
โ โ โ โ โโ ...
โ โ โ โโ member
โ โ โ โ โโ controller
โ โ โ โ โ โโ ApiV1FriendController.java
โ โ โ โ โ โโ ApiV1MemberController.java
โ โ โ โ โโ dto
โ โ โ โ โ โโ AddPasswordRequest.java
โ โ โ โ โ โโ AddressResponse.java
โ โ โ โ โ โโ ...
โ โ โ โ โโ entity
โ โ โ โ โ โโ Friend.java
โ โ โ โ โ โโ Member.java
โ โ โ โ โโ repository
โ โ โ โ โ โโ FriendRepository.java
โ โ โ โ โ โโ MemberRepository.java
โ โ โ โ โโ service
โ โ โ โ โโ FriendService.java
โ โ โ โ โโ MemberService.java
โ โ โ โ โโ ...
โ โ โ โโ report
โ โ โ โโ controller
โ โ โ โ โโ ApiV1ReportController.java
โ โ โ โโ dto
โ โ โ โ โโ ReportListResponse.java
โ โ โ โ โโ ReportRequest.java
โ โ โ โ โโ ...
โ โ โ โโ entity
โ โ โ โ โโ Report.java
โ โ โ โโ repository
โ โ โ โ โโ ReportRepository.java
โ โ โ โโ service
โ โ โ โโ ReportService.java
โ โ โโ global
โ โ โ โโ app
โ โ โ โ โโ AppConfig.java
โ โ โ โโ aspect
โ โ โ โ โโ ResponseAspect.java
โ โ โ โโ chatS3
โ โ โ โ โโ ChatS3Config.java
โ โ โ โโ exceptions
โ โ โ โ โโ ErrorCode.java
โ โ โ โ โโ GlobalExceptionHandler.java
โ โ โ โ โโ ServiceException.java
โ โ โ โโ initData
โ โ โ โ โโ NotProd.java
โ โ โ โโ jpa
โ โ โ โ โโ BaseEntity.java
โ โ โ โโ oauth2
โ โ โ โ โโ CustomAuthorizationRequestResolver.java
โ โ โ โ โโ ...
โ โ โ โโ redis
โ โ โ โ โโ RedisConfig.java
โ โ โ โโ rq
โ โ โ โ โโ Rq.java
โ โ โ โโ rsData
โ โ โ โ โโ RsData.java
โ โ โ โโ security
โ โ โ โ โโ ApiSecurityConfig.java
โ โ โ โ โโ CustomAuthenticationFilter.java
โ โ โ โ โโ ...
โ โ โ โโ storage
โ โ โ โ โโ FileStorageHandler.java
โ โ โ โ โโ FileUploadRequest.java
โ โ โ โ โโ ...
โ โ โ โโ web
โ โ โ โ โโ WebConfig.java
โ โ โ โโ webMvc
โ โ โ โ โโ CustomWebMvcConfig.java
โ โ โ โ โโ LoginUser.java
โ โ โ โ โโ LoginUserArgumentResolver.java
โ โ โ โโ websocket
โ โ โ โโ ChatMessageHandler.java
โ โ โ โโ WebSocketConfig.java
โ โ โโ standard
โ โ โโ base
โ โ โ โโ Empty.java
โ โ โโ util
โ โ โโ Ut.java
โ โโ resources
โ โโ application-dev.yml
โ โโ application-prod.yml
โ โโ ...
โ โโ elasticsearch
โ โ โโ mappings.json
โ โ โโ settings.json
โ โโ static
โ โโ templates
โโ test
GitConvention์ ์๊ฐ์ ๋๋ฌด ์์ง ์๋๋ก ๋ชจ๋์๊ฒ ์ต์ํ ๊น์ปจ๋ฒค์ ์ฑํ
main
โโ dev
โ โโ ๊ฐ์ธ ๋ธ๋์น
React + TypeScript
- ํ๋ก ํธ ์๋ฒ๋ฅผ ๋ถ๋ฆฌํ๋ฉด์ ํ์ ์ต๋ํ ๋ ๋ค์ด๊ธฐ ์ํด ๊ฐ์ฅ ์ ๋ช ํ๊ณ ์ต์ํ ๋ฆฌ์กํธ๋ฅผ ์ ์ .
- ์๋ฐ์คํฌ๋ฆฝํธ์ ๋ณ์ ๋ฐ์ดํฐ ํ์ ์ด ๋์ ์ด๊ธฐ ๋๋ฌธ์ ์ถํ ์ฐพ์ง ๋ชปํ ํ์ ์๋ฌ๋ฅผ ๋ฐฉ์งํด ํ์ ์คํฌ๋ฆฝํธ ์ถ๊ฐ
- ๊ฐํธํ API ์์ฒญ์ ์ํด axios ์ฌ์ฉ
SpringBoot + JPA + QueryDSL
- ๋น ๋ฅธ ํ๋ก์ ํธ ์์์ ์ํด WAS๊ฐ ๋ด์ฅ๋์ด์๋ SpringBoot ์ ์
- ๋ฐ์ดํฐ ๋งคํ ์๋ํ๋ฅผ ์ํ JPA ๋์ ๋ฐ QueryDSL ์ฌ์ฉ
WebSocket STOMP
- ์ฑํ ๊ธฐ๋ฅ ๊ตฌํ์ ์ํ WebSocket STOMP ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฌ์ฉ
JWT
- ํ์ ์ ๋ณด ํ ํฐ ์ธ์ฆ, ์ธ๊ฐ ์ฌ์ฉ์ ์ํ JWT ์ฑํ
Mysql, Redis
- ์งง์ ๊ฐ๋ฐ ๊ธฐ๊ฐ์ ๊ณ ๋ คํ์ฌ ๋ชจ๋์๊ฒ ์ต์ํ Mysql ์ฑํ
- ์ด๋ฉ์ผ, ํด๋ํฐ ์ธ์ฆ ์ฌ๋ถ ํ์ธ์ ์ํ Redis ์ฑํ
- ์ถ์ , ์ฑํ ๋ฐ์ดํฐ์ ๋น ๋ฅธ ๊ฒ์์ ์ํ elasticsearch ๋์
- ์น๊ตฌ ์ถ๊ฐ, ์ฑํ ๋ฐฉ, ๊ณต์ง์ฌํญ ๋ฑ ์๋ฆผ ๊ธฐ๋ฅ
- ์์ฒด ํ์๊ฐ์ , ์์ฒด ๋ก๊ทธ์ธ ๊ธฐ๋ฅ
- ์์ ๋ก๊ทธ์ธ ๊ธฐ๋ฅ
- ๋ง์ดํ์ด์ง
- ํ์ ํ๋กํ ์์ ๊ธฐ๋ฅ
- ์์ ๊ณ์ ์ฐ๋ ๊ธฐ๋ฅ
- ์น๊ตฌ ์ถ๊ฐ ๊ธฐ๋ฅ
- ๋ฉ์ผ 3์ ์ค์ผ์ค๋ฌ๋ฅผ ํตํ ์ถ์ /๊ณต์ฐ API ์ ๋ณด ํ์ฑ
- ์ถ์ /๊ณต์ฐ ๊ฒ์๊ธ ๋ฐ ๋๊ธ๊ณผ ๋ต๊ธ ๊ธฐ๋ฅ
- ์ถ์ /๊ณต์ฐ ๊ฒ์๊ธ์ ๋ชจ์(์ฑํ ๋ฐฉ) ์์ฑ ๊ธฐ๋ฅ
- ๋ชจ์(์ฑํ
๋ฐฉ) ๊ด๋ฆฌ ๊ธฐ๋ฅ
- ๋ฐฉ์ฅ ๊ถํ ์์
- ์ฐธ์ฌ ์๋ฝ ๋ฐ ์ฐธ์ฌ์ ๊ฐํด ๊ธฐ๋ฅ
- WebSocket + STOMP๋ฅผ ์ฌ์ฉํ ์ค์๊ฐ ์ฑํ ์ก/์์
- ๋ฉ์์ง๋ฅผ ์ฝ์ง ์์ ์ฌ๋ ์ ํ์ (์นด์นด์คํก์ 1)
- ์ฑํ ๋ฐฉ ๋ฉค๋ฒ ์จ๋ผ์ธ/์คํ๋ผ์ธ ์ํ ํ์
- AWS S3๋ฅผ ์ฌ์ฉํ ์ด๋ฏธ์ง ์ ๋ก๋, ์ญ์ ๊ธฐ๋ฅ ๊ตฌํ (Gif, Png, Jpg, Jpeg)
์ฑํ
- V1 : ๋์ ์ฟผ๋ฆฌ๋ฅผ ์ฌ์ฉํ ์ฑํ ๋ฐฉ ๋ด ๋ฉ์์ง ๊ฒ์ ๊ธฐ๋ฅ (QueryDSL)
- V2 : Elasticsearch๋ฅผ ์ด์ฉํ ์ฑํ ๋ฐฉ ๋ด ๋ฉ์์ง ๊ฒ์ ๊ธฐ๋ฅ
์ถ์ /๊ณต์ฐ
- V1 : ๋์ ์ฟผ๋ฆฌ๋ฅผ ์ฌ์ฉํ ์ถ์ /๊ณต์ฐ ํค์๋, ์ฅ๋ฅด ๊ฒ์ ๊ธฐ๋ฅ (QueryDSL)
- V2 : Elasticsearch๋ฅผ ์ด์ฉํ
- ์ถ์ /๊ณต์ฐ ํค์๋, ์ฅ๋ฅด ๊ฒ์ ๊ธฐ๋ฅ
- ๋ ์ง๋ ์ฌ์ฉ์ ์ง์ญ์ ๋ง์ถ ๋ฉ์ธ ๋ฐฐ๋ ๊ธฐ๋ฅ
- ๊ด๋ฆฌ์ ๊ถํ์ ๊ฐ์ง ์ฌ์ฉ์๋ง ์ง์
ํ ์ ์๋ ๊ด๋ฆฌ์ ํ์ด์ง
- ํ์ ์กฐํ ๊ธฐ๋ฅ
- ๋ชจ์ ์กฐํ ๋ฐ ์ญ์ ๊ธฐ๋ฅ
- ๊ณต์ง์ฌํญ ์์ฑ ๊ธฐ๋ฅ
- ๊ด๋ฆฌ์๊ฐ ์์ฑํ ๊ณต์ง์ฌํญ ์กฐํ ๋ฐ ๋๊ธ ์์ฑ ๊ธฐ๋ฅ
[๋ฐํ ์์ ์ฌ๋ฆด์์ ]










