Skip to content

AYoungSn/42gg.server.dev.v2

ย 
ย 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

42arcade.gg.server.v2

https://42gg.kr/

โšก๏ธ ํ”„๋กœ์ ํŠธ ์†Œ๊ฐœ

42 ์„œ์šธ ๋‚ด์—์„œ ํƒ๊ตฌ ๊ฒฝ๊ธฐ ๋งค์นญ, ์ „์ , ์ƒ์  ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š” ํ”„๋กœ์ ํŠธ ์ž…๋‹ˆ๋‹ค.
ํ–ฅํ›„ ์ถ”๊ฐ€ ์„œ๋น„์Šค ํ™•์žฅ ์˜ˆ์ •

โšก๏ธ ๊ธฐ์ˆ  ์Šคํƒ

โšก๏ธ ํ”„๋กœ์ ํŠธ ๊ด€๋ฆฌ

โšก๏ธ ํ”„๋กœ์ ํŠธ ๊ฐœ๋ฐœ๊ธฐ๊ฐ„

  • 3๊ธฐ: 2023.04.16 ~ 2023.06.23

  • 4๊ธฐ: 2023.08.01 ~ 2023.09.21

โšก๏ธ ํ”„๋กœ์ ํŠธ ์•„ํ‚คํ…์ฒ˜

systemArchitectureย ย ย ย 

โšก๏ธ 3๊ธฐ ์ง„ํ–‰ ์‚ฌํ•ญ

โšก๏ธโšก ๋กœ๊ทธ์ธ ์—ฐ๋™ ์ถ”๊ฐ€

  • v1์—์„œ ์ง€์›ํ•˜์ง€ ์•Š๋˜ ์นด์นด์˜ค๊ณ„์ • ์—ฐ๋™ ๊ธฐ๋Šฅ ์ถ”๊ฐ€(์ขŒ : v1, ์šฐ: v2)

    loginv1ย ย ย ย  loginv2ย ย ย ย 

โšก๏ธโšก DB table ๊ตฌ์กฐ ๋ณ€๊ฒฝ

  • v1์—์„œ ํ™•์žฅ์„ ์œ„ํ•ด ์—ด์–ด๋‘” ๊ตฌ์กฐ๋‚˜ ํ…Œ์ด๋ธ”๋งˆ๋‹ค ์—ฌ๋Ÿฌ ๊ณณ์— ์žˆ๋˜ ์ค‘๋ณต๋œ ์†์„ฑ ์ œ๊ฑฐ
  • v1 -> v2 ํ…Œ์ด๋ธ” ์ˆ˜ ๊ฐ์†Œ : 14 -> 12

erdv1ย ย ย ย 
erdv2ย ย ย ย 

โšก๏ธโšก ๊ฒŒ์ž„์ถ”๊ฐ€ ๊ธฐ๋Šฅ

  • v1์—์„œ 1๊ฐœ์˜ ์˜ˆ์•ฝ๋งŒ ๋˜๋˜ ๊ฒƒ์—์„œ ์ตœ๋Œ€ 3๊ฐœ๊นŒ์ง€ ์˜ˆ์•ฝ์„ ์žก์„ ์ˆ˜ ์žˆ๋„๋ก ๋ณ€๊ฒฝ

    matchv2ย ย ย ย 

โšก๏ธโšก ๋„์ปค ๋„์ž…

  • v2์—์„œ ๋„์ปค ๋„์ž…์„ ํ†ตํ•ด ์ปจํ…Œ์ด๋„ˆ๋ฅผ ํ†ตํ•œ ์„œ๋ฒ„ ๊ด€๋ฆฌ ๋„์ž…

dockerPsย ย ย ย 

โšก๏ธโšก ๋ชจ๋‹ˆํ„ฐ๋ง ๋„์ž…

  • grafana๋ฅผ ํ†ตํ•œ ์„œ๋ฒ„ ๋ชจ๋‹ˆํ„ฐ๋ง ๋„์ž…

dockerPsย ย ย ย 

โšก๏ธ 4๊ธฐ ์ง„ํ–‰ ์‚ฌํ•ญ

โšก๏ธโšก DB table ๊ตฌ์กฐ ๋ณ€๊ฒฝ

  • ์ƒ์ , ํ‹ฐ์–ด ๋“ฑ ์„œ๋น„์Šค ํ™•์žฅ์„ ์œ„ํ•œ DB ์žฌ์„ค๊ณ„
ERD V3

โšก๏ธโšก ์žฌํ™” ์‹œ์Šคํ…œ ์ถ”๊ฐ€

  • ์ถœ์„, ๊ฒŒ์ž„ ์ŠนํŒจ์— ์—ฐ๊ด€ํ•ด ์žฌํ™” ์‹œ์Šคํ…œ ์ถ”๊ฐ€
attendance

โšก๏ธโšก ์ƒ์ , ์•„์ดํ…œ ์„œ๋น„์Šค ์ถ”๊ฐ€

  • ์œ ์ € ์š”๊ตฌ์‚ฌํ•ญ์„ ๋ฐ˜์˜ํ•œ ๊ธฐ๋Šฅ ํ™•์žฅ
แ„‰แ…ณแ„แ…ณแ„…แ…ตแ†ซแ„‰แ…ฃแ†บ 2023-09-23 แ„‹แ…ฉแ„’แ…ฎ 11 48 01 แ„‰แ…ณแ„แ…ณแ„…แ…ตแ†ซแ„‰แ…ฃแ†บ 2023-09-23 แ„‹แ…ฉแ„’แ…ฎ 11 48 18

โšก๏ธโšก ํ‹ฐ์–ด ์‹œ์Šคํ…œ ์ถ”๊ฐ€

  • ๋žญํ‚น์ „ ํ™œ์„ฑํ™”๋ฅผ ์œ„ํ•œ ํ‹ฐ์–ด ์‹œ์Šคํ…œ ์ถ”๊ฐ€
tier

โšก๏ธโšก ๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€ ๊ตฌํ˜„

  • ์›ํ™œํ•œ ์šด์˜์„ ์œ„ํ•œ ๊ด€๋ฆฌ์ž ๊ธฐ๋Šฅ ์ถ”๊ฐ€
admin

โšก๏ธ ํŒ€์†Œ๊ฐœ

3๊ธฐ

๐Ÿ“ ๐Ÿ“ ๐Ÿ“ ๐Ÿ“ ๐Ÿ‘จ๐Ÿปโ€๐Ÿ’ป
์•ˆ์˜์„  @yoahn ๊น€์žฌํ˜ @jaehyuki ๊น€์˜์ง„ @yuikim ์ดํ˜„๊ทœ @hyunkyle ์ด ์ฒ  @cheolee
PM
Game๊ธฐ๋Šฅ ๋‹ด๋‹น
DB ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜&๊ด€๋ฆฌ,
์•Œ๋ฆผ,๊ด€๋ฆฌ์ž ๊ธฐ๋Šฅ ์ผ๋ถ€๋‹ด๋‹น
๋งค์นญ ๊ธฐ๋Šฅ,
๋กœ๊ทธ์ธ๊ธฐ๋Šฅ ์ผ๋ถ€๋‹ด๋‹น,
๊ด€๋ฆฌ์ž๊ธฐ๋Šฅ ์ผ๋ถ€๋‹ด๋‹น
๋กœ๊ทธ์ธ๊ธฐ๋Šฅ,
์ธํ”„๋ผ ๋‹ด๋‹น
๊ด€๋ฆฌ์ž ๊ธฐ๋Šฅ,
๋กœ๊ทธ ๋‹ด๋‹น

4๊ธฐ

๐Ÿ‘ฉ๐Ÿปโ€๐Ÿ’ป ๐Ÿ“ ๐Ÿ“ ๐Ÿ“ ๐Ÿ“
๋ฅ˜๋ฏผ์•„ @mryoo ์‹ ์‹œ์˜จ @sishin ๋ฅ˜๊ฒฝ์—ฝ @klew ๊ถŒํƒœํ˜„ @taehkwon ์ด ์ฒ  @cheolee
PM
ํ™•์„ฑ๊ธฐ,์ถœ์„ ๊ธฐ๋Šฅ ๋‹ด๋‹น
ํ‹ฐ์–ด, ์ƒํ’ˆ ๊ด€๋ฆฌ์ž ๊ธฐ๋Šฅ,
์ธํ”„๋ผ ๋‹ด๋‹น
์œ ์ € ์ด๋ฏธ์ง€,
์œ ์ € ํ”„๋กœํ•„ ์žฅ์‹ ๊ธฐ๋Šฅ ๋‹ด๋‹น
์ƒ์  ๊ธฐ๋Šฅ ๋‹ด๋‹น ์žฌํ™” ๊ธฐ๋Šฅ ๋‹ด๋‹น

โšก๏ธ ํ•„์š” ํŒŒ์ผ

๋‹ค์Œ๊ณผ ๊ฐ™์€ ์–‘์‹์˜ "application.yml"ํŒŒ์ผ์ด "src/main/resources/"๊ฒฝ๋กœ์— ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

spring:
  profiles:
    active: main

  security:
    oauth2.client:
      authenticationScheme: ""
      registration:
        42:
          redirect-uri: ""
          authorization-grant-type: ""
          scope: public
        kakao:
          redirect-uri: ""
          authorization-grant-type: ""
          scope: ""
      provider:
        42:
          authorization-uri: ""
          token-uri: ""
          user-info-uri: ""
          user-name-attribute: ""
        kakao:
          authorization-uri: ""
          token-uri: ""
          user-info-uri: ""
          user-name-attribute: ""

  mvc:
    hiddenmethod:
      filter:
        enabled: ""
  data:
    web:
      pageable:
        default-page-size: ""
        one-indexed-parameters: ""

  mail:
    host: ""
    port: ""
    username: ""
    password: ""
    properties:
      mail:
        smtp:
          starttls:
            enable: ""
            required: ""
          auth: ""

  # Message ์„ค์ •
  messages:
    basename: ""
    encoding: ""

springdoc:
  swagger-ui:
    path: ""
  default-consumes-media-type: ""
  default-produces-media-type: ""

app:
  auth:
    tokenSecret: ""
    refreshTokenSecret: ""

info:
  image:
    defaultUrl: '์œ ์ € ๊ธฐ๋ณธ ์ด๋ฏธ์ง€ ๊ฒฝ๋กœ'
    itemNotFoundUrl: 'not_found ์ด๋ฏธ์ง€ ๊ฒฝ๋กœ'

---
spring.config.activate.on-profile: main
spring:
  # main server์—์„œ๋Š” swagger-ui๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์Œ
  springdoc:
    swagger-ui:
      enabled: ""

  # ๋ฐ์ดํ„ฐ ์†Œ์Šค ์„ค์ •
  datasource:
    url: ""
    driverClassName: ""
    user: ""
    password: ""

  flyway:
    enabled: ""
    baselineOnMigrate: ""
    locations: ""
    url: ""
    user: ""
    password: ""

  jpa:
    database-platform: ""
    hibernate:
      ddl-auto: ""
    properties:
      hibernate:
        show_sql: ""
        format_sql: ""
        use_sql_comments: ""

  security:
    oauth2.client:
      registration:
        42:
          client-id: ""
          client-secret: ""
        kakao:
          client-id: ""
          client-secret: ""
          client-authentication-method: ""

  # Redis ์„ค์ •
  cache:
    type: ""
  redis:
    host: ""
    port: ""

# cors ์„ค์ •
cors:
  allowed-origins: ""
  allowed-methods: ""
  allowed-headers: ""
  allowed-credentials: ""
  max-age: ""

info:
  web:
    frontUrl: ""
    domain: ""

cloud:
  aws:
    credentials:
      accessKey: ""
      secretKey: ""
    s3:
      bucket: ""
      dir: ""
    region:
      static: ""
    stack:
      auto: ""

slack:
  xoxbToken: ""

app:
  auth:
    tokenExpiry: ""
    refreshTokenExpiry: ""

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 99.9%
  • Other 0.1%