Skip to content

JeonDaehong/daehong-food-delivery

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation



logo


"배달의 민족은 어떻게 대규모 트래픽과, 대용량 데이터를 다루고 있을까"

배달의 민족과 같은 배달 서비스 플랫폼을 모티브로 만든 API 서버 토이 프로젝트입니다.



🏍️ 프로젝트 목표

  • 배달의 민족과 같은 배달 서비스를 PC 웹 버전으로 구현해 내는 것을 목표로 합니다.

  • 단순 기능 구현이 아닌, 동시성 이슈, 분산 서버 환경, 그리고 대용량 트래픽 처리 등을 고려하여 개발합니다.

  • 객체지향의 원칙을 준수하고, 이론적 근거와 본인만의 철학을 토대로 코드를 작성합니다.

  • 어떤 기술을 사용하든, 단순히 구현만 할 줄 아는 것이 아니라, 원리를 이해하고 개발합니다.

  • 새롭게 접한 기술이나, 중요한 기술은 반드시 문서화( 블로그 ) 하여 정리합니다.

  • 네이버 클라우드를 활용하여, 실제로 서버에 적용시켜 보는 것을 목표로 합니다.


🏍️ 개발 주요 로직 & 주요 이슈 해결 목록

클릭 시, 개발 내용을 정리한 개인 블로그 내용으로 이동합니다.


🏍️ 프로젝트 중점사항

  • 서버의 확장성 고려
  • 버전 관리
  • logback 을 활용하여 log 관리
  • 문서화
  • Redis Cache 를 활용하여 조회 기능 구현
  • 동시성 이슈를 고려하며 기능 구현
  • Nginx 을 활용한 로드 밸런싱 환경 구축
  • JMeter 를 활용한 성능 테스트
  • 로그인 서비스 추상화
  • AOP 를 활용하여 로그인 체크 기능 구현
  • HandlerMethodArgumentResolver 와 WebConfig 를 활용하여 현재 로그인중인 유저 정보 가져오기 구현
  • 결제 서비스 추상화
  • Redis Session 활용
  • Redis Session 과 Cache 서버 분리
  • AWS S3 를 활용한 이미지 파일 관리
  • 테스트 코드 작성
  • Docker 컨테이너 활용
  • Transactional 의 원리를 이해하고, 주문 및 결제 로직 구현

🏍️ 프로젝트 전체 구성도

image


🏍️ 사용 기술 스택

image


🏍️ DB ERD

image


🏍️ Use Case

USE CASE 확인하기


About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published