Skip to content

Solux-ChillGuy/30th_1_chillguy_icey_back

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🧊 ICEY - 백엔드 레포지토리

어색함을 녹이고, 말이 트이도록
자연스러운 아이스브레이킹과 팀 커뮤니케이션의 모든 것, ICEY


팀원 소개

사진 이름 파트 담당 기능
홍서현 팀장 / 백엔드 • 카카오·구글 소셜 로그인
• 밸런스게임 (Gemini)
• 스몰토크 (Gemini)
• SSE 기반 실시간 알림 구현
• 배포 및 CICD 파이프라인 구축
권윤재 백엔드 • 유저별 개인 명함 관리
• 유저별 팀 명함 관리
• 팀 내 메모 및 메모 반응하기 구현
홍상희 백엔드 • 팀 관리(생성/만료/초대 및 가입)
• 팀 내 약속잡기 (when2meet)
• 쪽지 기능

⚙️ 기술 스택

🧑‍💻 언어 & 프레임워크

Java
Spring Boot

🔐 보안

Spring Security JWT

🗄️ 데이터베이스

JPA
MySQL

☁️ 인프라 & 자동화 툴

GCP Docker Swagger GitHub Actions


✨ 주요 기능

기능 구분
소셜 로그인
SmallTalk
팀 생성 및 초대
밸런스 게임
명함
메모
약속 잡기
쪽지
SSE 기반 실시간 알림

🌐 서비스 아키텍처

서비스아키텍처

📁 프로젝트 디렉터리 구조

📦 
├─ .github
│  ├─ ISSUE_TEMPLATE
│  │  └─ 이슈-생성-템플릿.md
│  └─ pull_request_template.md
├─ .gitignore
├─ README.md
├─ cloudbuild.yaml
└─ icey
   ├─ Dockerfile
   ├─ build.gradle
   ├─ gradle
   │  └─ wrapper
   │     ├─ gradle-wrapper.jar
   │     └─ gradle-wrapper.properties
   ├─ gradlew
   ├─ gradlew.bat
   ├─ settings.gradle
   └─ src
      ├─ main
      │  ├─ java
      │  │  └─ com
      │  │     └─ project
      │  │        └─ icey
      │  │           ├─ IceyApplication.java
      │  │           ├─ app
      │  │           │  ├─ controller
      │  │           │  │  ├─ BalanceGameController.java
      │  │           │  │  ├─ CardController.java
      │  │           │  │  ├─ LetterController.java
      │  │           │  │  ├─ LoginController.java
      │  │           │  │  ├─ MemoController.java
      │  │           │  │  ├─ NotificationController.java
      │  │           │  │  ├─ ScheduleController.java
      │  │           │  │  ├─ SmallTalkController.java
      │  │           │  │  └─ TeamController.java
      │  │           │  ├─ domain
      │  │           │  │  ├─ AccessoryType.java
      │  │           │  │  ├─ BalanceGame.java
      │  │           │  │  ├─ BalanceGameVote.java
      │  │           │  │  ├─ CandidateDate.java
      │  │           │  │  ├─ Card.java
      │  │           │  │  ├─ Letter.java
      │  │           │  │  ├─ Memo.java
      │  │           │  │  ├─ MemoReaction.java
      │  │           │  │  ├─ MemoReactionId.java
      │  │           │  │  ├─ NotificationEntity.java
      │  │           │  │  ├─ NotificationType.java
      │  │           │  │  ├─ Provider.java
      │  │           │  │  ├─ QuestionType.java
      │  │           │  │  ├─ RoleType.java
      │  │           │  │  ├─ Schedule.java
      │  │           │  │  ├─ ScheduleTimeSlot.java
      │  │           │  │  ├─ ScheduleVote.java
      │  │           │  │  ├─ SmallTalk.java
      │  │           │  │  ├─ SmallTalkList.java
      │  │           │  │  ├─ Team.java
      │  │           │  │  ├─ User.java
      │  │           │  │  ├─ UserRole.java
      │  │           │  │  └─ UserTeamManager.java
      │  │           │  ├─ dto
      │  │           │  │  ├─ AnswerRequest.java
      │  │           │  │  ├─ BalanceGameCreateRequest.java
      │  │           │  │  ├─ BalanceGameDto.java
      │  │           │  │  ├─ BalanceGameResultDto.java
      │  │           │  │  ├─ BalanceGameVoteRequest.java
      │  │           │  │  ├─ CardRequest.java
      │  │           │  │  ├─ CardResponse.java
      │  │           │  │  ├─ ConfirmScheduleRequest.java
      │  │           │  │  ├─ CreateTeamRequest.java
      │  │           │  │  ├─ CustomUserDetails.java
      │  │           │  │  ├─ ErrorResponse.java
      │  │           │  │  ├─ GeminiRequset.java
      │  │           │  │  ├─ GeminiResponse.java
      │  │           │  │  ├─ GoogleTokenResponse.java
      │  │           │  │  ├─ InvitationResponse.java
      │  │           │  │  ├─ InvitationTeamInfoResponse.java
      │  │           │  │  ├─ KakaoLoginRequest.java
      │  │           │  │  ├─ LetterDetailResponse.java
      │  │           │  │  ├─ LetterSendRequest.java
      │  │           │  │  ├─ LetterSummaryResponse.java
      │  │           │  │  ├─ LikeUser.java
      │  │           │  │  ├─ LoginRequestDto.java
      │  │           │  │  ├─ MajorityTimeResponse.java
      │  │           │  │  ├─ MemoRequest.java
      │  │           │  │  ├─ MemoResponse.java
      │  │           │  │  ├─ Notification.java
      │  │           │  │  ├─ ScheduleCreateRequest.java
      │  │           │  │  ├─ ScheduleVoteCombinedResponse.java
      │  │           │  │  ├─ ScheduleVoteRequest.java
      │  │           │  │  ├─ ScheduleVoteResponse.java
      │  │           │  │  ├─ ScheduleVoteSummaryResponse.java
      │  │           │  │  ├─ SimpleTeamInfo.java
      │  │           │  │  ├─ SmallTalkAnswerListRequest.java
      │  │           │  │  ├─ SmallTalkCreateRequest.java
      │  │           │  │  ├─ SmallTalkDto.java
      │  │           │  │  ├─ SmallTalkEditRequest.java
      │  │           │  │  ├─ SmallTalkListDto.java
      │  │           │  │  ├─ SmallTalkListSaveRequest.java
      │  │           │  │  ├─ SmallTalkResponse.java
      │  │           │  │  ├─ SwapResponse.java
      │  │           │  │  ├─ TeamDetailResponse.java
      │  │           │  │  ├─ TeamMember.java
      │  │           │  │  ├─ TeamResponse.java
      │  │           │  │  ├─ TitleUpdateRequest.java
      │  │           │  │  ├─ UserInfoResponse.java
      │  │           │  │  ├─ UserTeamJoinResponse.java
      │  │           │  │  └─ WriteInfoResponse.java
      │  │           │  ├─ repository
      │  │           │  │  ├─ BalanceGameRepository.java
      │  │           │  │  ├─ BalanceGameVoteRepository.java
      │  │           │  │  ├─ CandidateDateRepository.java
      │  │           │  │  ├─ CardRepository.java
      │  │           │  │  ├─ EmitterRepository.java
      │  │           │  │  ├─ LetterRepository.java
      │  │           │  │  ├─ MemoReactionRepository.java
      │  │           │  │  ├─ MemoRepository.java
      │  │           │  │  ├─ NotificationRepository.java
      │  │           │  │  ├─ ScheduleRepository.java
      │  │           │  │  ├─ ScheduleTimeSlotRepository.java
      │  │           │  │  ├─ ScheduleVoteRepository.java
      │  │           │  │  ├─ SmallTalkListRepository.java
      │  │           │  │  ├─ SmallTalkRepository.java
      │  │           │  │  ├─ TeamRepository.java
      │  │           │  │  ├─ UserRepository.java
      │  │           │  │  └─ UserTeamRepository.java
      │  │           │  └─ service
      │  │           │     ├─ BalanceGameService.java
      │  │           │     ├─ CardService.java
      │  │           │     ├─ GeminiClientService.java
      │  │           │     ├─ LetterService.java
      │  │           │     ├─ LoginService.java
      │  │           │     ├─ MemoService.java
      │  │           │     ├─ NotificationService.java
      │  │           │     ├─ ScheduleService.java
      │  │           │     ├─ SmallTalkGeneratorService.java
      │  │           │     ├─ SmallTalkService.java
      │  │           │     ├─ SseEmitterService.java
      │  │           │     ├─ TeamCleanupService.java
      │  │           │     └─ TeamService.java
      │  │           ├─ global
      │  │           │  ├─ config
      │  │           │  │  ├─ RestTemplateConfig.java
      │  │           │  │  ├─ SecurityConfig.java
      │  │           │  │  ├─ SwaggerConfig.java
      │  │           │  │  └─ WebConfig.java
      │  │           │  ├─ dto
      │  │           │  │  └─ ApiResponseTemplete.java
      │  │           │  ├─ exception
      │  │           │  │  ├─ AlreadyJoinedException.java
      │  │           │  │  ├─ ErrorCode.java
      │  │           │  │  ├─ InvalidTokenException.java
      │  │           │  │  ├─ SuccessCode.java
      │  │           │  │  └─ model
      │  │           │  │     ├─ CoreApiException.java
      │  │           │  │     ├─ CustomException.java
      │  │           │  │     ├─ GlobalExceptionHandler.java
      │  │           │  │     └─ ResourceNotFoundException.java
      │  │           │  └─ security
      │  │           │     └─ TokenService.java
      │  │           └─ oauth2
      │  │              ├─ CustomOAuth2SuccessHandler.java
      │  │              ├─ CustomOAuth2UserService.java
      │  │              ├─ KakaoUserInfo.java
      │  │              └─ OAuth2UserInfo.java
      │  └─ resources
      │     ├─ application-jwt.yml
      │     ├─ application.properties
      │     ├─ application.yml
      │     └─ static
      │        ├─ login.html
      │        └─ sse-test.html
      └─ test
         └─ java
            └─ com
               └─ project
                  └─ icey
                     └─ IceyApplicationTests.java

©generated by Project Tree Generator

About

ChillGuy팀의 백엔드 레포지토리입니다.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •