<application.yml>

spring:
  datasource:
    url: jdbc:h2:mem:test
    username: sa
    password:
    driverClassName: org.h2.Driver
  jpa:
    defer-datasource-initialization: true
    database-platform: org.hibernate.dialect.H2Dialect
    hibernate:
      create-drop
    open-in-view: false
    properties:
      hibernate:
        format_sql: true
        show_sql: true
	security:
	    oauth2:
	      client:
	        registration:
	          github:
	            client-id:
	              Iv1.84b5d4fbbbce583a
	            client-secret:
	              8cd84cb9cfbe60abc820cc302c22c591599be3ad
   #이미지 파일 관련
  servlet:
    multipart:
      max-file-size: 10MB
      max-request-size: 10MB

  h2:
    console:
      enabled: true
  jwt:
    secret: ZGF5b25lLXNwcmluZy1ib290LWRpdmlkZW5kLXByb2plY3QtdHV0b3JpYWwtand0LXNlY3JldC1rZXkK

	redis:
    host: localhost
    port: 6379
    password: 1234

naver-news:
  client-id: OK8jm2C1OSd9k3zJrRBi
  client-secret: Upeq4J6Rcu

develop:
  server:
    scheme: http
    host: 34.64.224.24
    port: 8080
  websocket:
    endpoint: /ws
    topic: /chatrooms
    publish: /chats

#AWS
cloud:
  aws:
    s3:
      bucket: budproject
    credentials:
      access-key: AKIATA3P7QW2SU7LF36S
      secret-key: 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
    region:
      static: ap-northeast-2
    stack:
      auto: false

logging:
  level:
    com:
      amazonaws:
        util:
          EC2MetadataUtils: error

server:
  servlet:
    encoding:
      charset: UTF-8
      force: true

#fcm
fcm:
  key:
    path: budproject-da24e-firebase-adminsdk-r64ws-a4abd7f94d.json
    scope: <https://www.googleapis.com/auth/cloud-platform>
  temp:
    token: eaPMPKwYejvOJhGdguntWK:APA91bHUIlb2FvJlmzmoQDJo1xr6AB13FGOIIk4f9L_rZPFHoNFpsS--1jwQ1ChOQaKk5nL3P3wKsL0x-ahOhPLxC3LfVVb-ZZ17KkbvETBR1nEfGJUAznW-WfDuH4xZB8-OBjX_0hTr

코딩 컨벤션

변수/함수 : camelCase 클래스/컴포넌트/인터페이스 : PascalCase 패키지명 : lowercase [Server] 디렉토리 구조 : 도메인 - 레이어 구조 [ETC] 통신 규격 : JSON(camelCase)

하드랩 : 80

`상수`

private final static MY_NAME = 'thomas';

`변수, 함수`

int roomNumber = 3;
String name = "hi";

`클래스 예시`

class Person{}

백엔드 디렉토리 구조

ACCOUNT
- CONTROLLER
- SERVICE
- DOMAIN
- DTO
- REPOSITORY
- TYPE

TRANSACTION
- CONTROLLER
- SERVICE
- DOMAIN
- DTO
- REPOSITORY
- TYPE

COMMON
- DTO 
	- ErrorCode
- CONFIG
  - redisConfig
- UTIL
- EXCEPTION
  - CUSTOMEXCEPTION
  - GLOBAL EXCEPTIONHANDLER
- TYPE

깃 커밋 메세지 형식

#제목: 구현한 기능
#본문: 코드 의도 설명 가능한 자세하게

# Feat     : 새로운 기능 추가
# Fix      : 버그 수정
# Docs     : 문서 수정
# Test     : 테스트 코드 추가
# Refactor : 코드 리팩토링, 파일 혹은 폴더명을 수정하거나 옮기는 작업만인 경우, 파일을 삭제하는 작업만 수행한 경우
# Design   : CSS 및 레이아웃 작업
# Chore    : 코드 외 빌드 부분 혹은 패키지 매니저 수정사항

예시
# Feat: 회원 가입 기능 추가

아이디랑 비밀번호를 입력받아서 값을 검증하고 DB에 회원 정보를 저장합니다.
응답값은 비밀번호를 제외한 입력값을 반환합니다.

깃 브런치 규칙

  1. 이슈 생성

  2. 로컬 IntelliJ에서 develop 브런치로 전환 후 git pull 안하면 코드가 뒤섞일 수 있음

  3. 이슈 번호에 맞게 브런치 생성 ex> 아래의 경우 feat#1

    스크린샷 2023-03-29 오전 10.55.54.png