묵자 - 부산 식당 검색·예약·배달주문 서비스
CURRICULUM 과정소개
| 과정명 | 빅데이터 기반(파이썬·자바·웹) 엘라스틱 검색엔진 개발자_6회차_종일 |
|---|---|
| 담당강사 / 발표일시 | 윤종욱 / 2026.09.22 |
| 프로젝트명 | 묵자 - 부산 식당 검색·예약·배달주문 서비스 |
ROLL 역할분담
| 홍OO | · 공지사항·북마크·리뷰·문의 게시판 관련 DTO·DAO·Controller 및 화면 개발 · 보고서 작성 |
|---|---|
| 김OO | · 식당 관련 DTO·DAO·Controller 및 화면 개발 · Elasticsearch 검색 구현 · Kibana 데이터 시각화 · 보고서 작성 및 발표 |
| 이OO | · 결제·배달 관련 DTO·DAO·Controller 및 화면 개발 · 데이터 수집 · Kibana 데이터 시각화 · 보고서 작성 |
| 차OO | · 회원·예약 관련 DTO·DAO·Controller 및 화면 개발 · 보고서 작성 및 프로젝트 시연 |
PROJECT 프로젝트소개
- 개요
- ◎ 개요 : 부산 지역의 다양한 식당을 검색하고 원하는 식당의 정보를 확인하여 예약 및 배달 주문을 이용할 수 있는 웹 사이트를 구현한다.
회원은 회원정보 수정, 식당 예약, 배달 주문, 결제 및 1:1 문의 등의 서비스를 이용할 수 있으며, 점주는 예약·배달 주문 확인과 식당 정보를 관리하고, 관리자는 회원, 입점 식당, 공지사항 및 문의 답변 등을 관리할 수 있도록 구성한다.
◎ 목표 :
· 부산 지역의 식당 데이터를 활용한 식당 검색 및 정보제공
· 식당 예약·예약 취소·배달 주문·결제 등 주요 서비스 구현
· 회원·점주·관리자별 권한에 따른 기능 및 정보 관리
· 검색부터 예약·주문·관리까지 이어지는 식당 서비스의 핵심 기능 구현
· 실제 웹 사이트의 전반적인 개발 과정 경험 - 구현기능
- · 회원가입·로그인 및 이메일 인증
· 식당 검색·자동완성·인기검색어
· 카테고리·지역별 식당 조회
· 지도·챗봇
· 북마크·후기
· 식당 예약·취소
· 배달주문·결제
· 점주 식당·메뉴·예약·주문 관리
· 관리자 회원·식당·게시판 관리
· Kibana 통계 시각화 - 설계의 주안점
- · 회원·점주·관리자의 권한과 이용 흐름을 구분하고 Spring Security 기반 접근 제어 적용
· Oracle DB의 회원·식당·메뉴·예약·주문 데이터를 관계형 구조로 설계하고, Elasticsearch 식당·후기 인덱스를 구성하여 검색과 통계 분석 지원
· MVC 구조로 기능을 분리하고 지도·주소검색·이메일 인증·결제 서비스를 연동하여 검색부터 예약·주문까지 이어지는 이용 흐름 구성 - 사용기술 및 개발환경
- ▶사용기술: HTML, CSS, JavaScript, Python, Playwright, BeautifulSoup, Oracle DB, JSP, Spring Boot, MyBatis, Gradle, Lombok, Spring Security, Bootstrap, Font Awesome, Elasticsearch, Kibana
▶개발도구: Eclipse/STS4, SQL Developer, ERwin, StarUML, PyCharm, VS Code, uv, GitHub, Apache Tomcat, JDK
▶외부 연동: Kakao Maps API, 도로명주소 API, 이메일 인증 API, PortOne 결제 API - 프로젝트 수행 절차 및 방법








- 프로젝트 시연영상
- 자체 평가
- ● 홍OO : 팀 프로젝트도 세 번째 진행이 되어 웹사이트에 대한 이해도가 올라 시스템과 기능데 해대 더욱 체계적으로 설계할 수 있었습니다. 공지사항, 1:1 문의, 식당 리뷰, 북마크를 담당하며 단순히 CRUD 기능의 구현에 그치지 않고 실제 서비스에 필요한 데이터 접근 권한과 멀티파일의 DB연동을 고려하며 개발하고자 했습니다. 또한 자바스크립트를 활용하여 챗봇 형태의 도움말 시스템을 구현하며 스크립트 함수의 실행과정과 DTO 연동 출력에 대해 익힐 수 있어 만족스러운 경험이었습니다.
● 김OO : 식당 정보의 다양한 항목을 일관된 형식으로 정리하고 출력하는 과정에서 어려움이 있었지만, 항목별 형식을 정리하며 해결할 수 있었습니다. Elasticsearch 검색 기능과 Kibana 데이터 시각화를 적용하며 데이터 연동과 시각화 방법을 익혔습니다. 문제를 직접 분석하고 해결하며 여러 기능을 연동하는 과정에서 웹 서비스의 전반적인 개발 흐름을 경험할 수 있었습니다. 추후 프로젝트에서는 중복 코드를 줄이고 코드 재사용성과 유지보수성을 높이는 방향으로 개선하고 싶습니다.
● 이OO : 이번 프로젝트에서 DB Join 병목을 해결하고자 Elasticsearch 실시간 집계와 메모리 캐싱을 도입하여 메인 페이지 응답 속도를 대폭 단축했습니다. Playwright, BeautifulSoup4 기반 크롤링 파이프라인에 차단 방지 및 재시도 로직을 적용해 대량 데이터를 안정적으로 수집·적재했습니다. 장바구니부터 결제까지 단일 트랜잭션으로 처리해 데이터 무결성을 보장하고, 서버 세션 기반 검증으로 보안성을 확보했습니다. 단순 개발을 넘어 대용량 환경의 성능 최적화와 데이터 안정성을 수치로 입증해 본 뜻깊은 경험이었습니다.
● 차OO : 회원 CRUD 전체와 이메일 인증 기능을 직접 설계·구현했습니다. 탈퇴 기능은 활동 이력(주문·리뷰·예약 등) 유무에 따라 완ㅇ전 삭제와 개인정보 익명화를 분기해 데이터 무결성을 고려했고, 이메일 인증은 Redis 기반에서 팀원 전원의 인프라 설치 부담을 고려해 세션 방식으로 조정했습니다. 개발 중 로그인이 갑자기 막히는 문제를 겪었는데, 로그 설정이 꺼져 있어 실제 원인(매퍼 파일 병합 오류)이 가려져 있던 것을 끝까지 추척해 해결하며 디버깅 역량을 키울 수 있었습니다.
목록으로
댓글쓰기
0
