https://github.com/rookedsysc/delivery-app
스프링 학습 목적으로 개발된 배달앱 백엔드
https://github.com/rookedsysc/delivery-app
msa spring springboot springsecurity
Last synced: about 2 months ago
JSON representation
스프링 학습 목적으로 개발된 배달앱 백엔드
- Host: GitHub
- URL: https://github.com/rookedsysc/delivery-app
- Owner: rookedsysc
- Created: 2023-09-15T11:28:43.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2025-02-04T10:31:18.000Z (over 1 year ago)
- Last Synced: 2025-08-24T17:30:48.923Z (10 months ago)
- Topics: msa, spring, springboot, springsecurity
- Language: Java
- Homepage:
- Size: 3.47 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
### **Architecture**

### 기술 스택
Lang & Framework : Java / Kotlin / Spring Boot 2.7 / Spring Security
Database : MySQL, Redis
MQ : RabbitMQ
### 프로젝트 개요
스프링 학습 목적으로 개발한 `개인 프로젝트` 입니다. 배달앱을 모티브로 개발했습니다.
> **주요 기능 및 개발 내용**
>
1. 회원가입
2. 유저
1. 가게 정보 및 메뉴 정보 검색
2. 주문 접수 Consumer
3. 가게 사장
1. 가게 등록
2. 메뉴 등록
3. 주문 접수 Producer
> Multi Module Project
>
유저와 가맹점주의 서버 분리로 독립적인 확장 및 운영이 가능합니다. 새로운 기능 추가 및 변경에 유연하게 대응할 수 있습니다.
> Response 공통화
>
공통 Response 모델을 통해 개발 코드 중복을 줄이고 일관성을 유지합니다. 상세한 Response를 남겨 개발자간 의사소통 효율을 증진 시킵니다.
> Rabbit MQ와 Non Blocking
>
동기식 구조의 응답 지연 문제를 해결하여 시스템 성능을 개선합니다. 비동기 처리를 통해 높은 트래픽에도 안정적으로 대응할 수 있습니다.
> AOP
>
User Session 정보 추출 코드를 AOP로 간략화하여 코드 관리 효율성을 높입니다. 'user/me' 컨트롤러 및 서비스에서 User 정보 추출 코드를 중복 없이 사용할 수 있습니다.
> Kotlin Migration
>
Java보다 훨씬 적은 코드로 동일한 기능을 구현하여 코드 관리 및 유지보수가 용이해집니다. null safety, data class 등의 기능으로 안전하고 안정적인 코드를 작성할 수 있습니다. 표현력이 풍부하고 간결한 코드로 개발 속도를 높이고 생산성을 향상시킬 수 있습니다.