Skip to content
This repository has been archived by the owner on Aug 13, 2022. It is now read-only.
/ ludensdomain Public archive

[SI -> 여기어때 이직] 게임을 위한 공간. 게임 유통과 구매 및 정보 교환장

Notifications You must be signed in to change notification settings

f-lab-edu/ludensdomain

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎮 ludensdomain

  • 게임을 위한 공간
  • 유저들은 게임 구매로 사용
  • 유통사 또는 개발사는 게임 발매 및 정보 관리

📜 프로젝트 목표

  • 특정 날(대규모 세일 주간)에 다이나믹하게 변동하는 대용량 트래픽을 견뎌내는 게임 유통 사이트(ESD) 구현
  • 단순한 기능 구현과 구조에서 벗어나 보다 의미 있고 가독성 높은 코드를 작성
  • 기존에 사용하던 기술들을 정확히 이해하며 객체지향 정신을 받아 코드에 녹여내고자 함

⚙ 사용 기술

  • Java 8
  • Spring Boot 5
  • Maven
  • Tomcat
  • MySQL (Master-Slave)
  • Redis (session, cache)
  • Docker
  • Naver Cloud Platform
  • Jenkins

🌌 프로젝트 전체 구조

test  Copy of Untitled


🚄 Git Flow

  • agile 개발 환경에 적합한 운영 방법으로 feature 별 개발 진행과 빠른 피드백 반영
  • Git Flow의 slim version을 사용
    • main 브랜치는 운영 브랜치로써 완성된 코드를 구비해 언제든 배포가 가능하도록 관리
    • develop 브랜치는 통합 환경으로 개발된 feature를 합체
    • feature 브랜치는 목적에 맞게 독립적으로 관리하며 동시 개발이 가능해 기능 개발 시간 딜레이를 최대한 축소

image


📱 화면

사용자 화면


유통사 화면


🗃 DB ERD

erd final


📝 기술 블로그

  1. 대용량 트래픽을 위한 유통 시스템 설계 → https://daakludens.github.io/project/scale-up-out/
  2. 분산 서버를 이용하며 세션을 유지하는 방법 → https://daakludens.github.io/project/session/
  3. DB 부하 분산을 위한 캐시 적용 → https://daakludens.github.io/project/redis-cache/
  4. DB 부하 분산을 위한 윈도우 환경 MySQL replication 설정 → https://daakludens.github.io/project/replication/
  5. 세션과 캐시 분리를 위한 Redis 분리와 Docker 사용 → https://daakludens.github.io/project/separate-redis/
  6. 코드의 동작을 보장하기 위한 단위 테스트 적용 → https://daakludens.github.io/project/unit_test/
  7. 빌드와 단위 테스트 자동화를 위한 Jenkins CI 도입 → https://daakludens.github.io/project/jenkins-ci/

블로그 링크 : https://daakludens.github.io/


💽 USE CASE

USE CASE로 이동

About

[SI -> 여기어때 이직] 게임을 위한 공간. 게임 유통과 구매 및 정보 교환장

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages