Skip to content

doojoo9999/GigaBox

Repository files navigation

Bunnies

👨‍🏫 프로젝트 소개

영화 시사회를 예매하는 사이트 백엔드 서버 개발

프로젝트 계기

그동안 진행했던 프로젝트는 cache 기능을 사용하지 않고, DB에서 직접 가져오는 구조를 띄었습니다. 이 경우 사용자와 데이터가 많아졌을 때 DB에 많은 부하를 줄 수 있는데, 이를 보완하기 위해 부하를 줄여줄 수 있는 방법 중 하나인 cache를 공부하여 적용해보려고 합니다.

⏲️ 개발기간

  • 2024.02.14(수) ~ 2024.02.22(목)

📚️ 개발환경

✔️ Language

✔️ Version Control

✔️ IDE

✔️ Framework

✔️ DB

와이어프레임

GIGABOX1

API 명세서

API 명세서

ERD

GIGABOX (1)

📌프로젝트 요약

👀 Redis 읽기

  • 기존 Supabase 사용 테스트 결과 image

  • In-memory cache 사용 테스트 결과 image

  • Redis 사용 테스트 결과 image

Supabase에서 Redis로 전환한 결과, 읽기 속도에서 성능 개선이 이루어졌습니다.

TPS 1.7 → 1459 / 85723% 성능 개선

✏️ Redis 쓰기

  • 기존 Supabase 사용 테스트 결과 image

  • Redis 사용 테스트 결과 image

Supabase에서 Redis로 전환한 결과, 쓰기 속도에서도 성능 개선이 이루어졌습니다.

TPS 12.1 → 3567 / 29625% 성능 개선

패키지 구조

├─main
│  ├─kotlin
│  │  └─com
│  │      └─teamsparta
│  │          └─gigabox
│  │              ├─client
│  │              │  ├─config
│  │              │  └─oauth2
│  │              │      └─kakao
│  │              │          └─dto
│  │              ├─domain
│  │              │  ├─coupon
│  │              │  │  ├─controller
│  │              │  │  ├─dto
│  │              │  │  │  ├─request
│  │              │  │  │  └─response
│  │              │  │  ├─model
│  │              │  │  ├─repository
│  │              │  │  └─service
│  │              │  ├─exception
│  │              │  │  └─dto
│  │              │  ├─member
│  │              │  │  ├─controller
│  │              │  │  ├─dto
│  │              │  │  │  ├─request
│  │              │  │  │  └─response
│  │              │  │  ├─model
│  │              │  │  ├─repository
│  │              │  │  └─service
│  │              │  ├─movie_info
│  │              │  │  ├─controller
│  │              │  │  ├─dto
│  │              │  │  │  ├─request
│  │              │  │  │  └─response
│  │              │  │  ├─model
│  │              │  │  ├─repository
│  │              │  │  └─service
│  │              │  ├─post
│  │              │  │  ├─controller
│  │              │  │  ├─dto
│  │              │  │  │  ├─request
│  │              │  │  │  └─response
│  │              │  │  ├─model
│  │              │  │  ├─repository
│  │              │  │  └─service
│  │              │  ├─receipt
│  │              │  │  ├─controller
│  │              │  │  ├─dto
│  │              │  │  │  ├─request
│  │              │  │  │  └─response
│  │              │  │  ├─model
│  │              │  │  ├─repository
│  │              │  │  └─service
│  │              │  ├─reservation
│  │              │  │  ├─controller
│  │              │  │  ├─dto
│  │              │  │  │  ├─request
│  │              │  │  │  └─response
│  │              │  │  ├─model
│  │              │  │  ├─repository
│  │              │  │  └─service
│  │              │  ├─screen_info
│  │              │  │  ├─controller
│  │              │  │  ├─dto
│  │              │  │  │  ├─request
│  │              │  │  │  └─response
│  │              │  │  ├─model
│  │              │  │  ├─repository
│  │              │  │  └─service
│  │              │  ├─theater
│  │              │  │  ├─controller
│  │              │  │  ├─dto
│  │              │  │  │  ├─request
│  │              │  │  │  └─response
│  │              │  │  ├─model
│  │              │  │  ├─repository
│  │              │  │  └─service
│  │              │  ├─theater_info
│  │              │  │  ├─controller
│  │              │  │  ├─dto
│  │              │  │  │  ├─request
│  │              │  │  │  └─response
│  │              │  │  ├─model
│  │              │  │  ├─repository
│  │              │  │  └─service
│  │              │  └─upload
│  │              │      ├─controller
│  │              │      ├─dto
│  │              │      │  └─request
│  │              │      ├─model
│  │              │      ├─repository
│  │              │      └─service
│  │              └─infra
│  │                  ├─aop
│  │                  ├─auditing
│  │                  ├─aws
│  │                  ├─cache
│  │                  ├─querydsl
│  │                  ├─security
│  │                  │  └─jwt
│  │                  ├─swagger
│  │                  └─utility
│  │                      ├─couponutility
│  │                      ├─mailutility
│  │                      └─scheduler
│  └─resources
└─test
    ├─kotlin
    │  └─com
    │      └─teamsparta
    │          └─gigabox
    │              ├─domain
    │              │  ├─coupon
    │              │  │  └─service
    │              │  └─movie_info
    │              │      ├─controller
    │              │      ├─repository
    │              │      └─service
    │              └─infra
    │                  └─cache
    └─resources

👨🏻‍💻 Built With

  • [박병률] - 팀장
  • [김성현] - 조원
  • [최혜림] - 조원
  • [황승현] - 조원

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages