Code Monkey home page Code Monkey logo

meetaduck's Introduction

header

새로운 사람들과 친해지는 가장 좋은 방법

개발 기간

2024.02.19 ~ 2024.04.05 (7주)

개요

"AI & BigData를 활용한 온라인 마니또 서비스"

Meet A Duck ! 은 새로운 만남 속에서 새로운 사람들과 친밀감을 형성하는 단계에서 활용도가 높으며, 활동적인 분위기 속에서 **AI(KoELECTRA)**를 통해 상호 간의 친밀도를 측정하고, 나의 채팅 내역을 BigData(Spark) 로 처리하여 언어 습관 을 확인 할 수 있는 온라인 마니또 서비스입니다.

팀 소개

팀원 역할
😈전원빈 팀장, BE
👶강지수 FE
😁김현영 BE
👩안준선 FE
😄양희승 BE
👦최지웅 BE

🔨 기술 스택 🔨

Backend

Spring Boot Spring Security JWT Gradle Hibernate

Frontend

React TypeScript Recoil NodeJS PWA

Database

MySQL MongoDB

Deploy

AWS Docker Nginx Jenkins RabbitMQ Amazon S3

BIGDATA

FastAPI Hadoop Spark Uvicorn

AI

Jupyter Pytorch scikit-learn numpy Pandas

Collaboration

GitLab Jira MatterMost Notion


파일 구조


Front
front
 ┣ public
 ┃ ┣ icons
 ┃ ┃ ┣ apple-touch-icon-144x144.png
 ┃ ┃ ┣ apple-touch-icon-152x152.png
 ┃ ┃ ┣ apple-touch-icon-72x72.png
 ┃ ┃ ┣ apple-touch-icon-76x76.png
 ┃ ┃ ┣ favicon-128.png
 ┃ ┃ ┣ favicon-16x16.png
 ┃ ┃ ┣ favicon-196x196.png
 ┃ ┃ ┣ favicon-32x32.png
 ┃ ┃ ┣ favicon-96x96.png
 ┃ ┃ ┣ mstile-310x310.png
 ┃ ┃ ┗ RubberDuckBase.png
 ┃ ┣ manifest.json
 ┃ ┗ reset.css
 ┣ src
 ┃ ┣ assets
 ┃ ┃ ┣ fonts
 ┃ ┃ ┗ images
 ┃ ┣ components
 ┃ ┃ ┣ chatting
 ┃ ┃ ┃ ┣ ChatListArea.tsx
 ┃ ┃ ┃ ┣ ChattingHeader.tsx
 ┃ ┃ ┃ ┗ ChattingInputArea.tsx
 ┃ ┃ ┣ commons
 ┃ ┃ ┃ ┣ Button.tsx
 ┃ ┃ ┃ ┣ Card.tsx
 ┃ ┃ ┃ ┣ Carousel.tsx
 ┃ ┃ ┃ ┣ Frame.tsx
 ┃ ┃ ┃ ┣ Input.tsx
 ┃ ┃ ┃ ┣ Loading.tsx
 ┃ ┃ ┃ ┣ PartyLeaveButton.tsx
 ┃ ┃ ┃ ┣ ProfileName.tsx
 ┃ ┃ ┃ ┗ Slides.tsx
 ┃ ┃ ┣ hint
 ┃ ┃ ┃ ┣ HintChats.tsx
 ┃ ┃ ┃ ┣ HintInputQuestion.tsx
 ┃ ┃ ┃ ┣ HintMessage.tsx
 ┃ ┃ ┃ ┗ HintProfile.tsx
 ┃ ┃ ┣ mission
 ┃ ┃ ┃ ┣ MissionImage.tsx
 ┃ ┃ ┃ ┗ MissionSlider.tsx
 ┃ ┃ ┣ navbar
 ┃ ┃ ┃ ┗ MainNav.tsx
 ┃ ┃ ┣ party
 ┃ ┃ ┃ ┣ DatePickerInput.tsx
 ┃ ┃ ┃ ┗ ShareButton.tsx
 ┃ ┃ ┣ result
 ┃ ┃ ┃ ┣ ResultCountCard.tsx
 ┃ ┃ ┃ ┣ ResultDoughnutChart.tsx
 ┃ ┃ ┃ ┣ ResultList.tsx
 ┃ ┃ ┃ ┣ ResultListItem.tsx
 ┃ ┃ ┃ ┣ ResultListItemProfile.tsx
 ┃ ┃ ┃ ┗ WordCloud.tsx
 ┃ ┃ ┗ vote
 ┃ ┃ ┃ ┣ VoteCard.tsx
 ┃ ┃ ┃ ┣ VoteCarouselItem.tsx
 ┃ ┃ ┃ ┣ VoteCarouselList.tsx
 ┃ ┃ ┃ ┣ VoteCarouselListItem.tsx
 ┃ ┃ ┃ ┣ VoteRadioButton.tsx
 ┃ ┃ ┃ ┣ VoteRadioButtonList.tsx
 ┃ ┃ ┃ ┗ VoteRadioButtonProfileName.tsx
 ┃ ┣ pages
 ┃ ┃ ┣ chatting
 ┃ ┃ ┃ ┣ ChattingDetailPage.tsx
 ┃ ┃ ┃ ┗ ChattingPage.tsx
 ┃ ┃ ┣ hint
 ┃ ┃ ┃ ┣ HintInProgressPage.tsx
 ┃ ┃ ┃ ┣ HintInputFormPage.tsx
 ┃ ┃ ┃ ┣ HintNonePage.tsx
 ┃ ┃ ┃ ┣ HintPage.tsx
 ┃ ┃ ┃ ┗ HintResultPage.tsx
 ┃ ┃ ┣ login
 ┃ ┃ ┃ ┣ LoginPage.tsx
 ┃ ┃ ┃ ┗ RedirectionPage.tsx
 ┃ ┃ ┣ mission
 ┃ ┃ ┃ ┣ MissionCompletePage.tsx
 ┃ ┃ ┃ ┣ MissionFirstPage.tsx
 ┃ ┃ ┃ ┣ MissionManitiPage.tsx
 ┃ ┃ ┃ ┣ MissionManitoPage.tsx
 ┃ ┃ ┃ ┣ MissionPage.tsx
 ┃ ┃ ┃ ┗ MissionTodayPage.tsx
 ┃ ┃ ┣ party
 ┃ ┃ ┃ ┣ PartyCreatePage.tsx
 ┃ ┃ ┃ ┣ PartyMakerPage.tsx
 ┃ ┃ ┃ ┗ PartyPage.tsx
 ┃ ┃ ┣ result
 ┃ ┃ ┃ ┣ PairResultPage.tsx
 ┃ ┃ ┃ ┣ ResultPage.tsx
 ┃ ┃ ┃ ┣ ResultPairListPage.tsx
 ┃ ┃ ┃ ┗ ResultSlidesPage.tsx
 ┃ ┃ ┣ root
 ┃ ┃ ┃ ┗ RootPage.tsx
 ┃ ┃ ┣ Status
 ┃ ┃ ┃ ┣ ErrorPage.tsx
 ┃ ┃ ┃ ┣ ProtectedRoutes.tsx
 ┃ ┃ ┃ ┣ ResultErrorPage.tsx
 ┃ ┃ ┃ ┗ Router.tsx
 ┃ ┃ ┗ vote
 ┃ ┃ ┃ ┣ VoteAfterPage.tsx
 ┃ ┃ ┃ ┣ VoteBefore24Page.tsx
 ┃ ┃ ┃ ┗ VoteInProgressPage.tsx
 ┃ ┣ recoil
 ┃ ┃ ┣ atom.ts
 ┃ ┃ ┗ dummy.ts
 ┃ ┣ services
 ┃ ┃ ┣ axios.ts
 ┃ ┃ ┣ chatListLoadService.ts
 ┃ ┃ ┣ chatSendImageService.ts
 ┃ ┃ ┣ chatSendMessageService.ts
 ┃ ┃ ┣ chatService.ts
 ┃ ┃ ┣ HintInputQuestionService.ts
 ┃ ┃ ┣ hintPageService.ts
 ┃ ┃ ┣ loginService.ts
 ┃ ┃ ┣ missionTodayService.ts
 ┃ ┃ ┣ partyDeleteService.ts
 ┃ ┃ ┣ partyStartService.ts
 ┃ ┃ ┣ resultService.ts
 ┃ ┃ ┣ settingFCM.ts
 ┃ ┃ ┣ updateHintAnswersService.ts
 ┃ ┃ ┗ voteService.ts
 ┃ ┣ styles
 ┃ ┃ ┣ chatting
 ┃ ┃ ┃ ┣ ChatListArea.module.css
 ┃ ┃ ┃ ┣ ChattingDetailPage.module.css
 ┃ ┃ ┃ ┣ ChattingHeader.module.css
 ┃ ┃ ┃ ┣ ChattingInputArea.module.css
 ┃ ┃ ┃ ┗ ChattingPage.module.css
 ┃ ┃ ┣ commons
 ┃ ┃ ┃ ┣ Button.module.css
 ┃ ┃ ┃ ┣ Card.module.css
 ┃ ┃ ┃ ┣ Frame.module.css
 ┃ ┃ ┃ ┣ Input.module.css
 ┃ ┃ ┃ ┣ PartyLeaveButton.module.css
 ┃ ┃ ┃ ┗ ProfileName.module.css
 ┃ ┃ ┣ hint
 ┃ ┃ ┃ ┣ HintChats.module.css
 ┃ ┃ ┃ ┣ HintInputFormPage.module.css
 ┃ ┃ ┃ ┣ HintInputQuestion.module.css
 ┃ ┃ ┃ ┣ HintMessage.module.css
 ┃ ┃ ┃ ┣ HintPage.module.css
 ┃ ┃ ┃ ┗ HintProfile.module.css
 ┃ ┃ ┣ login
 ┃ ┃ ┃ ┗ LoginPage.module.css
 ┃ ┃ ┣ mission
 ┃ ┃ ┃ ┣ Mission.module.css
 ┃ ┃ ┃ ┣ MissionCompletePage.module.css
 ┃ ┃ ┃ ┗ MissionSlider.module.css
 ┃ ┃ ┣ party
 ┃ ┃ ┃ ┣ Partyjoin.module.css
 ┃ ┃ ┃ ┗ PartyMaker.module.css
 ┃ ┃ ┣ result
 ┃ ┃ ┃ ┣ ResultCountCard.module.css
 ┃ ┃ ┃ ┣ ResultListItem.module.css
 ┃ ┃ ┃ ┣ ResultListItemProfile.module.css
 ┃ ┃ ┃ ┗ ResultPage.module.css
 ┃ ┃ ┣ vote
 ┃ ┃ ┃ ┣ VoteAfterPage.module.css
 ┃ ┃ ┃ ┣ VoteBefore24Page.module.css
 ┃ ┃ ┃ ┣ VoteCard.module.css
 ┃ ┃ ┃ ┣ VoteCarouselList.module.css
 ┃ ┃ ┃ ┣ VoteInProgressPage.module.css
 ┃ ┃ ┃ ┗ VoteRadioButton.module.css
 ┃ ┃ ┣ webSocket
 ┃ ┃ ┃ ┗ TestPage2.module.css
 ┃ ┃ ┣ Colors.css
 ┃ ┃ ┣ ErrorPage.module.css
 ┃ ┃ ┣ ETC.css
 ┃ ┃ ┣ MainNav.module.css
 ┃ ┃ ┗ Typography.css
 ┃ ┣ types
 ┃ ┃ ┣ button.ts
 ┃ ┃ ┣ chat.ts
 ┃ ┃ ┣ chatMessage.ts
 ┃ ┃ ┣ hint.ts
 ┃ ┃ ┣ mission.ts
 ┃ ┃ ┣ party.ts
 ┃ ┃ ┣ result.ts
 ┃ ┃ ┣ user.interface.ts
 ┃ ┃ ┗ vote.ts
 ┃ ┣ App.tsx
 ┃ ┣ main.tsx
 ┃ ┗ vite-env.d.ts
 ┣ .env
 ┣ .eslintrc.js
 ┣ .gitignore
 ┣ .prettierrc
 ┣ Dockerfile
 ┣ index.html
 ┣ j10c108.p.ssafy.io-key.pem
 ┣ j10c108.p.ssafy.io.pem
 ┣ Jenkinsfile
 ┣ localhost-key.pem
 ┣ localhost.pem
 ┣ package-lock.json
 ┣ package.json
 ┣ README.md
 ┣ sw.js
 ┣ tsconfig.json
 ┣ tsconfig.node.json
 ┗ vite.config.ts

Back
back
 ┣ .gradle
 ┣ .idea
 ┣ build
 ┃ ┣ classes
 ┃ ┃ ┗ java
 ┃ ┃ ┃ ┗ main
 ┃ ┃ ┃ ┃ ┣ com
 ┃ ┃ ┃ ┃ ┃ ┗ ssafy
 ┃ ┃ ┃ ┃ ┃ ┃ ┗ duck
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ common
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ BaseTimeEntity.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ TimeUtil.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ config
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ CorsMvcConfig.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ RabbitConfig.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ RabbitProperties.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ SchedulerConfig.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ SecurityConfig.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ StompConfig.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ domain
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ chat
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ controller
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ ChatController.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ RabbitStompController.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ dto
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ request
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ MessageReq$MessageReqBuilder.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ MessageReq.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ response
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ ChatRes$ChatResBuilder.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ ChatRes.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ MessageRes$MessageResBuilder.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ MessageRes.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ entity
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ Chat$ChatBuilder.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ Chat.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ Message$MessageBuilder.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ Message.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ Topic$TopicBuilder.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ Topic.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ exception
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ ChatErrorCode.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ ChatException.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ repository
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ ChatRepository.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ MessageRepository.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ TopicRepository.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ service
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ ChatService.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ guest
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ controller
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ GuestController.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ dto
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ request
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ GuestReq.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ VoteReq.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ response
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ GuestRes$GuestResBuilder.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ GuestRes.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ PairRes$PairResBuilder.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ PairRes.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ VoteRes$VoteResBuilder.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ VoteRes.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ entity
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ Guest$GuestBuilder.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ Guest.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ exception
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ GuestErrorCode.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ GuestException.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ repository
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ GuestRepository.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ service
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ GuestService.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ hint
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ controller
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ HintController.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ dto
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ request
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ HintReq.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ HintStatusReq$HintStatusReqBuilder.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ HintStatusReq.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ response
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ HintRes$HintResBuilder.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ HintRes.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ HintStatusRes$HintStatusResBuilder.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ HintStatusRes.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ entity
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ Hint$HintBuilder.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ Hint.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ HintStatus$HintStatusBuilder.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ HintStatus.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ exception
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ HintErrorCode.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ HintException.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ repository
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ HintRepository.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ HintStatusRepository.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ service
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ HintService.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ mission
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ controller
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ MissionController.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ dto
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ request
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ MissionImageUpdateReq.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ MissionPassReq$MissionPassReqBuilder.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ MissionPassReq.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ MissionSuccessReq.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ response
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ MissionRes$MissionResBuilder.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ MissionRes.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ MyManitoMissionRes$MyManitoMissionResBuilder.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ MyManitoMissionRes.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ entity
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ Mission$MissionBuilder.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ Mission.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ MissionStatus$MissionStatusBuilder.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ MissionStatus.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ exception
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ MissionErrorCode.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ MissionException.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ repository
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ MissionRepository.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ MissionStatusRepository.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ service
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ MissionService.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ party
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ controller
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ PartyController.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ dto
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ request
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ CreateReq$CreateReqBuilder.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ CreateReq.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ DeleteReq$DeleteReqBuilder.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ DeleteReq.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ StartReq$StartReqBuilder.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ StartReq.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ response
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ CreateRes$CreateResBuilder.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ CreateRes.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ PartyRes$PartyResBuilder.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ PartyRes.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ entity
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ Party$PartyBuilder.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ Party.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ exception
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ PartyErrorCode.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ PartyException.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ repository
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ PartyRepository.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ service
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ PartyService.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ result
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ controller
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ ResultController.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ dto
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ model
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ Favorability.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ FavorabilityProjection.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ request
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ ResultReq.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ response
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ MissionResultRes$MissionResultResBuilder.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ MissionResultRes.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ ResultRes$ResultResBuilder.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ ResultRes.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ ResultWithManitiRes$ResultWithManitiResBuilder.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ ResultWithManitiRes.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ ResultWithManitoRes$ResultWithManitoResBuilder.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ ResultWithManitoRes.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ entity
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ Result$ResultBuilder.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ Result.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ exception
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ ResultErrorCode.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ ResultException.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ repository
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ ResultRepository.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ service
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ ResultService.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ user
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ controller
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ UserController.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ dto
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ model
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ KakaoUserInfo$Account$Profile.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ KakaoUserInfo$Account.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ KakaoUserInfo.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ OAuthToken.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ request
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ UserSignUpReq$UserSignUpReqBuilder.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ UserSignUpReq.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ response
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ UserRes$UserResBuilder.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ UserRes.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ entity
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ User$UserBuilder.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ User.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ exception
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ UserErrorCode.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ UserException.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ repository
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ UserRepository.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ service
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ UserService.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ exception
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ GlobalExceptionHandler.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ jwt
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ CustomJwtAuthenticationFilter.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ JwtAuthInterceptor.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ JwtErrorCode.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ JwtException.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ JwtProperties.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ scheduler
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ TaskSchedulerService.class
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ DuckApplication.class
 ┣ .gitignore
 ┣ build.gradle
 ┣ Dockerfile
 ┣ gradlew
 ┣ gradlew.bat
 ┣ Jenkinsfile
 ┗ settings.gradle



시스템 아키텍처

System Architecture

화면 정의서

WireFrame

전체 와이어 프레임

전체 와이어 프레임

로그인 & 파티 시작

로그인 파티생성 대기_와이어프레임

미션

미션_와이어프레임

채팅

채팅_와이어프레임

힌트

힌트_와이어프레임

결과

결과_와이어프레임(종료전)

파티 종료 후

파티_종료_후_와이어프레임

ERD

ERD

서비스 소개 (주요 기능)

1. 사용자

  • 파티

    • 소셜 로그인(Kakao)
    • 파티 생성
    • 파티 참가
    • 파티 나가기
    • 파티 삭제
  • 미션

    • 미션 수행
    • 마니또의 미션 확인
  • 채팅

    • 실시간 그룹채팅
    • 실시간 마니또와 채팅
    • 실시간 마니띠와 채팅
  • 힌트

    • 힌트 작성
    • 마니또의 힌트 조회
  • 결과

    • 예상 마니또 투표
    • (종료 후) 힌트 전체 조회
    • (종료 후) AI기반 친밀도 분석결과조회
    • (종료 후) 빅데이터 기반 WordCloud 제공
    • (종료 후) 예상 마니또 투표 결과
    • (종료 후) 대화 빈도/횟수 조회
    • (종료 후) 미션 수행횟수 조회
    • (종료 후) 긍정어 부정어 사용비율 조회

사용자 화면

파티

01파티생성

02파티시작

03파티참가


미션

11미션새로고침

12미션제출

13미션확인


힌트

04힌트입력

15힌트


채팅

14채팅


결과

16투표

21힌트확인

22미션

23결과


종료

24파티삭제

25참가자나가기


컨벤션

Branch

- 주요 브랜치 (항상 유지)
    - **master**
        - 항상 배포 가능한 브랜치 (백업)

    - **develop**
        - 배포 브랜치(main) 다음 버전을 준비하는 브랜치
        - 개발된 모든 코드의 통합 장소
- 보조 브랜치 (임시 생성/머지했으면 삭제)
    - **feature**
        - 특정 기능을 개발하는 브랜치
        - develop 브랜치에서 생성, 기능 개발  develop 브랜치로 병합
        - e.g. `feature/be/login`, `feature/fe/logou`

    - **hotfix**
        - 배포 브랜치의 현재 버전에서 버그가 생겼을  긴급 수정을 위한 브랜치
        - main 브랜치에서 생성, 버그 수정  main  develop 브랜치로 병합
        - e.g. `hotfix/20240111`, `hotfix/#5`

Commit

  • 커밋 메시지 구조
    • 개행 2번씩.
type: <subject>

[body]

[footer]
  • type
- feat: 기능 추가
- fix: 버그 수정
- refactor: 코드 리팩토링
- design: CSS  디자인
- style: 코드 스타일 수정
- test: 코드 테스트 관련
- docs: 문서 수정
- chore: 빌드  기타 변경사항
- rename: 파일명 수정
- remove: 파일 삭제
  • subject
1. 최대 50글자까지 작성
2. 특수기호 사용 금지 (마침표 )
3. 영문 작성시  단어 명령문,  글자 대문자
    - e.g. `Add file`
4. 한글 작성시 개조식으로 작성
    - e.g. `파일 추가`
  • body
1. 생략 가능
2. '어떻게'보다는 '무엇을', '왜' 변경했는지 작성
  • footer
1. 생략 가능
2. GitLab 연동
3. Fixes #<이슈번호>
4. Resolves #<이슈번호>
5. Ref #<이슈번호>
6. Related to #<이슈번호>
7. e.g. `Fixes: #47`, `Related to: #32, 21`

DATA

-네이버 영화 리뷰 : https://github.com/e9t/nsmc
-네이버쇼핑, Steam 플랫폼 리뷰 데이터 : https://github.com/bab2min/corpus
-한국어 단발성 대화 데이터셋 : https://aihub.or.kr/aihubdata/data/view.do?currMenu=115&topMenu=100
-감성 대화 말뭉치 : https://aihub.or.kr/aihubdata/data/view.do?currMenu=115&topMenu=100&aihubDataSe=realm&dataSetSn=86

meetaduck's People

Contributors

heeseungy avatar hggew avatar joonsun1006 avatar jwchoi42 avatar pwindx20 avatar unistuj avatar

Watchers

 avatar

Forkers

unistuj

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.