diff --git a/README.md b/README.md index 8910e7f..5dcb6aa 100644 --- a/README.md +++ b/README.md @@ -2,13 +2,30 @@ 실시간 식당 예약 및 방문 관리 시스템 -![Image](https://github.com/user-attachments/assets/847211cf-1514-4cf5-9407-1ae3a4ea67e3) + -Notion으로 보기: 🍀 Table-Now +
+ 📜 Notion으로 보기: Table-Now +
--- -## 📌 프로젝트 소개 +## 📚 목차 + +- [🚀 프로젝트 소개](#-프로젝트-소개) +- [🎯 핵심 목표](#-핵심-목표) +- [📌 주요 기능](#-주요-기능) +- [🛠️ 사용 기술](#️-사용-기술) +- [🏗️ 아키텍처](#️-아키텍처) +- [🧠 기술적 의사결정](#-기술적-의사결정) +- [🧯 트러블 슈팅](#-트러블-슈팅) +- [🗂️ API 명세서](#-api-명세서) +- [🗂️ ERD](#-erd) +- [🧑‍💻 팀원 소개](#-팀원-소개) + +--- + +## 🚀 프로젝트 소개 TableNow는 사용자가 식당을 예약하고 방문할 수 있도록 지원하는 실시간 예약 관리 시스템입니다. 고객, 사장님, 관리자 각각의 요구를 충족하는 다양한 기능을 제공합니다. @@ -125,6 +142,12 @@ TableNow는 사용자가 식당을 예약하고 방문할 수 있도록 지원 + + + + + + @@ -135,61 +158,51 @@ TableNow는 사용자가 식당을 예약하고 방문할 수 있도록 지원 + -
- --- ## 🏗️ 아키텍처 -추가 예정 +![Image](https://github.com/user-attachments/assets/277c8634-7500-4cf3-934f-43c40342e505) --- ## 🧠 기술적 의사결정 -🔐 동시성 제어를 위한 DB Lock vs Redisson Lock 비교 -
-🔎 RDBMS LIKE 검색 VS Elastic Search 의 키워드 검색 -
-👤 소셜 로그인(Kakao, Naver)을 WebClient를 사용해서 구현한 이유 -
-💬 1:1(예약자:가게) 채팅 기능 고도화를 위해 RabbitMQ Relay를 적용한 이유 -
-🔒 기술적 의사 결정: Waitlist 등록 동시성 제어를 위한 락 방식 선택 배경 -
-📗 Spring Batch와 Reddison Lock을 선택한 이유 -
-📙 Redis + RabbitMQ 기반 이벤트 오픈 구조 도입 +- 🔐 동시성 제어를 위한 DB Lock vs Redisson Lock 비교 +- 🔎 RDBMS LIKE 검색 VS Elastic Search 의 키워드 검색 +- 👤 소셜 로그인(Kakao, Naver)을 WebClient를 사용해서 구현한 이유 +- 💬 1:1(예약자:가게) 채팅 기능 고도화를 위해 RabbitMQ Relay를 적용한 이유 +- 🔒 기술적 의사 결정: Waitlist 등록 동시성 제어를 위한 락 방식 선택 배경 +- 📗 Spring Batch와 Reddison Lock을 선택한 이유 +- 📙 Redis + RabbitMQ 기반 이벤트 오픈 구조 도입 --- ## 🧯 트러블 슈팅 -⚠️ 데이터 정합성 오류: 데이터 변경 시 Redis + ES 반영 -
-⚠️ 빈자리 알림 개선 : 스케줄러 → RabbitMQ -
-⚠️ RepositoryItemReader의 페이징 처리 방식에 따른 데이터 변경 시 페이지 밀림 현상 -
-⚠️ WebSocket Handshake 시 Authorization 헤더가 누락되는 이유와 테스트 환경의 한계 -
-⚠️ Redisson 락 적용 시 데이터 미반영 이슈와 self-invocation 문제 +- ⚠️ 데이터 정합성 오류: 데이터 변경 시 Redis + ES 반영 +- ⚠️ 빈자리 알림 개선 : 스케줄러 → RabbitMQ +- ⚠️ RepositoryItemReader의 페이징 처리 방식에 따른 데이터 변경 시 페이지 밀림 현상 +- ⚠️ WebSocket Handshake 시 Authorization 헤더가 누락되는 이유와 테스트 환경의 한계 +- ⚠️ Redisson 락 적용 시 데이터 미반영 이슈와 self-invocation 문제 --- ## 🗂️ API 명세서 -[API 명세서 보기](https://www.notion.so/teamsparta/7-Table-Now-1e32dc3ef514806f9160e0e3f16041fd?pvs=4#1e52dc3ef514803f9751e265bf112b3a) +[API 명세서 보러가기] --- ## 🗂️ ERD -[ERD 보기](https://www.erdcloud.com/p/G6gdPGhrWgMmHC4fh) +[ERD 보러가기] + ![Image](https://github.com/user-attachments/assets/3161b362-3dab-4974-8aa2-a04fd3d4d4a3) --- @@ -227,7 +240,7 @@ TableNow는 사용자가 식당을 예약하고 방문할 수 있도록 지원 GitHub - 이채원
+
🫅 멤버
이채원
예약 / 이벤트