Skip to content

Latest commit

 

History

History
245 lines (218 loc) · 12.1 KB

README.md

File metadata and controls

245 lines (218 loc) · 12.1 KB

🏮 채팅마차 🏮


텍스트 기반 스트리밍 어플리케이션, 채팅마차입니다!



팀원 👨‍👨‍👧‍👧👩‍👦‍


BE 팀장 : 신초은


BE 팀원 : 배종찬


BE 팀원 : 백계환


📚 STACKS

Tech

Infra

Tool



📀 ERD

ERD

⭐️ API

[API 명세서](https://www.notion.so/API-5b5b7308681b4c1d8f43137d7be66ae7?pvs=4)

Project Structure

.
├── java
│   └── com
│       └── chatbar
│           ├── ChatbarApplication.java
│           ├── domain
│           │   ├── auth
│           │   │   ├── application
│           │   │   │   ├── AuthService.java
│           │   │   │   ├── CustomDefaultOAuth2UserService.java
│           │   │   │   ├── CustomTokenProviderService.java
│           │   │   │   └── CustomUserDetailsService.java
│           │   │   ├── domain
│           │   │   │   ├── Token.java
│           │   │   │   └── repository
│           │   │   │       ├── CustomAuthorizationRequestRepository.java
│           │   │   │       └── TokenRepository.java
│           │   │   ├── dto
│           │   │   │   ├── AuthRes.java
│           │   │   │   ├── RefreshTokenReq.java
│           │   │   │   ├── SignInReq.java
│           │   │   │   ├── SignUpReq.java
│           │   │   │   └── TokenMapping.java
│           │   │   └── presentation
│           │   │       └── AuthController.java
│           │   ├── chatroom
│           │   │   ├── application
│           │   │   │   └── ChatRoomService.java
│           │   │   ├── domain
│           │   │   │   ├── ChatRoom.java
│           │   │   │   ├── UserChatRoom.java
│           │   │   │   └── repository
│           │   │   │       ├── ChatRoomRepository.java
│           │   │   │       └── UserChatRoomRepository.java
│           │   │   ├── dto
│           │   │   │   ├── CloseRoomReq.java
│           │   │   │   ├── CreateRoomReq.java
│           │   │   │   ├── CreateRoomRes.java
│           │   │   │   ├── EnterRoomReq.java
│           │   │   │   ├── ResultRoomListRes.java
│           │   │   │   ├── RoomListRes.java
│           │   │   │   └── UserListRes.java
│           │   │   └── presentation
│           │   │       └── ChatRoomController.java
│           │   ├── common
│           │   │   ├── BaseEntity.java
│           │   │   ├── Category.java
│           │   │   ├── CategorySetConverter.java
│           │   │   └── Status.java
│           │   ├── email
│           │   │   ├── EmailService.java
│           │   │   └── VerificationCode.java
│           │   ├── message
│           │   │   ├── application
│           │   │   │   └── MessageService.java
│           │   │   ├── domain
│           │   │   │   ├── Message.java
│           │   │   │   └── repository
│           │   │   │       └── MessageRepository.java
│           │   │   ├── dto
│           │   │   │   └── MessageDto.java
│           │   │   └── presentation
│           │   │       └── MessageController.java
│           │   └── user
│           │       ├── application
│           │       │   ├── FollowService.java
│           │       │   └── UserService.java
│           │       ├── domain
│           │       │   ├── Follow.java
│           │       │   ├── Provider.java
│           │       │   ├── Role.java
│           │       │   ├── User.java
│           │       │   └── repository
│           │       │       ├── FollowRepository.java
│           │       │       └── UserRepository.java
│           │       ├── dto
│           │       │   ├── ChangePasswordRes.java
│           │       │   ├── EmailRes.java
│           │       │   ├── FollowRes.java
│           │       │   ├── UserRes.java
│           │       │   └── VerifyRes.java
│           │       └── presentation
│           │           └── UserController.java
│           └── global
│               ├── DefaultAssert.java
│               ├── config
│               │   ├── JpaConfig.java
│               │   ├── S3Config.java
│               │   ├── TomcatWebCustomConfig.java
│               │   ├── YamlPropertySourceFactory.java
│               │   └── security
│               │       ├── OAuth2Config.java
│               │       ├── SecurityConfig.java
│               │       ├── WebMvcConfig.java
│               │       ├── handler
│               │       │   ├── CustomSimpleUrlAuthenticationFailureHandler.java
│               │       │   └── CustomSimpleUrlAuthenticationSuccessHandler.java
│               │       ├── oauth
│               │       │   ├── OAuth2UserInfo.java
│               │       │   ├── OAuth2UserInfoFactory.java
│               │       │   └── company
│               │       │       ├── Google.java
│               │       │       └── Naver.java
│               │       ├── token
│               │       │   ├── CurrentUser.java
│               │       │   ├── CustomAuthenticationEntryPoint.java
│               │       │   ├── CustomOncePerRequestFilter.java
│               │       │   └── UserPrincipal.java
│               │       └── util
│               │           └── CustomCookie.java
│               ├── error
│               │   ├── ApiControllerAdvice.java
│               │   ├── DefaultAuthenticationException.java
│               │   ├── DefaultException.java
│               │   ├── DefaultNullPointerException.java
│               │   └── InvalidParameterException.java
│               ├── infrastructure
│               │   └── S3Uploader.java
│               └── payload
│                   ├── ApiResponse.java
│                   ├── ErrorCode.java
│                   ├── ErrorResponse.java
│                   └── Message.java
└── resources
    ├── application.yml
    ├── database
    │   └── application-database.yml
    └── oauth
        └── application-oauth.yml

🌱 Pull Requests Rule

Title: ex) [Feat]: 채팅 기능 추가 , [FIX]: 오류 수정

Reviewers(PR을 리뷰해 줄 팀원): 파트 내 본인 외 1명

Assignees(PR 담당자): 본인

Labels: Commit Message Convention에 따름


✅ Commit Message Convention

[FEAT]: 새로운 기능 추가

[FIX]: 버그, 오류 수정

[DOCS]: README 등의 문서 수정

[REFACTOR]: 전면 수정(코드 리펙토링)

[TEST]: 테스트 코드 추가 및 수정


🍃 Branch Strategy

  • main
    • 배포 이력 관리 목적
  • develop
    • feature 병합용 브랜치
    • 배포 전 병합 브랜치
  • feature
    • develop 브랜치를 베이스로 기능별로 feature 브랜치 생성해 개발
  • fix
    • 수정용 브랜치
  • test
    • 테스트가 필요한 코드용 브랜치
  • hotfix
    • 배포 후 버그 발생 시 버그 수정