Skip to content

맛집 추천/리뷰 커뮤니티 웹 서비스 개발(Java+SpringMVC)

Notifications You must be signed in to change notification settings

JeyunH/WEB-Project-MatZip

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

banner

맛있는 순간을 찾다, MatZip(맛집)

intro

1. 프로젝트 개요

MatZip은 직관적인 UI로 맛집을 탐색하여 정보를 확인할 수 있고, 자신의 미식 경험을 다른 사람들과 공유할 수 있는 맛집 추천 및 리뷰 커뮤니티 웹 서비스입니다. 단순한 정보 제공을 넘어, 사용자들이 '맛있는 순간'을 기록하고 연결되는 공간을 만드는 것을 목표로 하였습니다.

개발 기간 : 2025/6/23 - 2025/7/13 (약 3주)


2. 주요 기능

  • 맛집 검색: 강력한 통합 검색과 상세 필터, 정렬 기능을 통해 취향에 맞는 맛집을 빠르고 정확하게 찾을 수 있습니다.
  • 맛집 정보: 주소, 메뉴 등 기본 정보부터 카카오맵 연동 위치, 방문자들이 직접 올린 사진과 리뷰까지 방문에 필요한 모든 정보를 제공합니다.
  • 찜 하기: 마음에 드는 맛집을 찜해두면, 마이페이지에서 저장한 가게 목록을 간편하게 관리할 수 있습니다.
  • 리뷰 작성: 별점, 사진, 텍스트로 맛집에 대한 나의 평가를 기록하고 다른 사람들과 유용한 정보를 나눌 수 있습니다.
  • 관리자 기능: 회원, 맛집, 리뷰 등 사이트의 핵심 데이터를 조회 및 관리하고, 각 데이터 통계를 통해 운영 현황을 파악할 수 있습니다.

기능 명세서

FuncSpec

3. 기술 스택 및 아키텍처

Tech Stack

Java Spring Oracle MyBatis JSP Maven Apache Tomcat

Architecture

본 프로젝트는 Spring MVC 프레임워크를 기반으로 한 MVC (Model-View-Controller) 패턴을 따릅니다. 이를 통해 역할과 책임을 분리하여 코드의 재사용성과 유지보수성을 높였습니다.

구분 기술 설명
Presentation Layer JSP, HTML, CSS, JavaScript 사용자 인터페이스 및 동적 웹 페이지 렌더링
Business Layer Spring MVC, Java 비즈니스 로직 처리, Controller/Service 계층 구성
Persistence Layer MyBatis, Oracle DB 데이터베이스 연동 및 영속성 관리 (DAO)
Server Apache Tomcat 웹 애플리케이션 서버
Build Tool Maven 의존성 관리 및 프로젝트 빌드

4. 데이터 구조

본 프로젝트의 맛집 정보, 이미지, 리뷰 등 대용량의 초기 데이터는 Python을 사용하여 구축되었습니다.

  • 수집: 공공 데이터 포털 API 및 웹 크롤링(selenium 라이브러리 활용)을 통해 원시 데이터를 수집했습니다.
  • 전처리 및 삽입: 수집된 데이터를 정제(BeautifulSoup 라이브러리 활용)하고, Oracle DB 구조에 맞게 가공하여 대량 삽입을 진행했습니다.

보안 및 정책상의 이유로 데이터 수집 및 삽입에 사용된 Python 코드는 저장소에 포함하지 않았습니다. 대신, sql/ 디렉토리에 DB 테이블과 시퀀스를 생성하는 MatZip4.sql 파일을 제공합니다.

ER 다이어그램


erd

5. 프로젝트 구조

MatZip-WEB-Project/
├── pom.xml           # Maven 의존성 및 빌드 설정
├── sql/              # DB 스키마 및 데이터
│   └── MatZip4.sql   # 테이블 생성 스크립트
├── src/
│   ├── main/
│   │   ├── java/     # Java 소스 코드
│   │   │   └── kr/ac/kopo
│   │   │       ├── controller
│   │   │       ├── service
│   │   │       ├── dao
│   │   │       ├── vo
│   │   │       └── util
│   │   ├── resources/        # MyBatis 매퍼(XML), 프로퍼티 파일
│   │   └── webapp/
│   │       ├── resources/    # CSS, 이미지 등 정적 파일
│   │       └── WEB-INF/
│   │           ├── jsp/      # JSP 뷰 파일
│   │           ├── tags/     # 재사용 tag 파일
│   │           ├── dispatcher-servlet.xml      # Spring Web Context 설정
│   │           └── web.xml   # 웹 애플리케이션 배포 서술자 (최초 진입점)
│   └── test/
└── target/                   # 빌드 결과물 (.war)

6. 서비스 화면

맛집 검색 및 찜하기

  • 이름, 지역, 카테고리 등 통합 검색 및 필터 기능을 통해 맛집을 탐색
  • 마음에 드는 맛집을 찜할 수 있고, 마이페이지에서 찜한 맛집만 확인

서비스 화면

리뷰 작성

  • 다녀간 맛집에 리뷰를 작성
  • 별점을 체크하고 이미지를 업로드

서비스 화면

관리자 페이지

  • 관리자 계정으로만 접근할 수 있는 관리자 대시보드
  • 회원/맛집/리뷰 등 핵심 데이터 조회 및 관리, 각 데이터 통계를 확인

서비스 화면


🧑‍💻 개발자

  • 황제윤 (@JeyunH)
  • 폴리텍 성남 하이테크과정[인공지능소프트웨어과] 이수중
  • 국민대 테크노디자인 전문대학원 AI디자인 전공 졸업
  • 서울과학기술대학교 기계시스템디자인공학 전공 졸업

About

맛집 추천/리뷰 커뮤니티 웹 서비스 개발(Java+SpringMVC)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published