Skip to content

OhGoodTeam/OhGoodFood

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

364 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🥖 Ohgoodfood

이미지를 클릭하면 OhGoodFood 플랫폼으로 이동합니다.

🔗 목차


프로젝트 소개

📖 개요

📦오굿푸드(OhGoodFood) 프로젝트 소개

  • Spring MVC 기반 마감 식품 특가 플랫폼
  • 실시간 예약 & 결제 시스템
  • 사장님-사용자 간 남는 식품의 가치 있는 소비 연결

🎯 주요 기능

👤 사용자 🏪 가게(사장님) 👨‍💼 관리자
예약 가능한 상품 조회
필터 기능
예약 및 결제
주문 확인/취소
리뷰 작성
북마크 기능
오굿백 상품 등록/마감
예약 목록 확인 및 픽업 처리
리뷰 확인
매출 확인
가게 정보 수정
가게 등록 요청 승인/거절
전체 회원/상품 목록 조회
예약/픽업 상태 확인
알림 전송
통계/매출 관리

👥 팀 소개

5조은팀
김민중(팀장)

박은효

박화준

서가은

오선정
담당 관리자 / 사용자 페이지
DB 설계
사장님 페이지
UI/UX 설계
사장님 페이지
DB 설계
사용자 페이지
UI/UX 설계
사용자 페이지
DB 설계

🖼 화면 명세

  • 사용자 화면
메인 메인지도 상품상세 주문내역 마이페이지
메인 메인지도 상품상세 주문내역 마이페이지
  • 사장님 화면
메인(오픈) 리뷰내역 주문내역 마이페이지 매출확인
메인 리뷰내역 주문내역 마이페이지 매출확인

🔧 기술 스택

📌 프론트엔드

HTML CSS JavaScript JSP jQuery

🛠 백엔드

Java Spring MVC MyBatis Lombok

🌐 서버 / 배포

Apache Tomcat AWS S3 STS IntelliJ IDEA Git

🗄 데이터베이스

MariaDB

🔌 외부 API 및 연동

Kakao Map OAuth2 Toss Payments Spring Scheduler

📂 파일 구조

├─java
│  └─kr
│      └─co
│          └─ohgoodfood
│              ├─config              # ✅ Spring 설정 클래스 (MvcConfig, 파일 업로드 설정)
│              ├─controller          # ✅ 클라이언트 요청 처리 컨트롤러 계층
│              ├─dao                 # ✅ MyBatis Mapper 인터페이스 (DB 접근)
│              ├─dto                 # ✅ DTO/VO 클래스
│              ├─service             # ✅ 비즈니스 로직 처리 계층
│              └─util                # ✅ 공통 유틸 클래스 (인터셉터 등)
├─resources
│  └─kr─co─ohgoodfood
│              └─dao                # ✅ MyBatis 매퍼 XML 파일 위치 (SQL 정의)
└─webapp
    ├─css                           # ✅ 웹폰트 및 css 파일
    ├─img                           # ✅ 정적 이미지 파일 저장
    ├─popup                         # ✅ 팝업 전용 JSP (모달 등)
    ├─resources                     
    └─WEB-INF
        ├─spring
        │  └─appServlet             # ✅ Spring DispatcherServlet 설정 XML 위치
        └─views                     # ✅ JSP 뷰

🧱 시스템 구조

Web App Reference Architecture (4)

🧾 ERD

스크린샷 2025-07-07 150317

🕶️ 보안

  • SQL Injection 방지 : MyBatis #{} 플레이스홀더(PreparedStatement) 사용
  • XSS 방지 : 스크립트 필터링 기능을 적용해서 XSS 공격을 방지
  • 파일 업로드 검증 : S3에 이미지 확장자 (.jpg, .jpeg, .png)만 업로드 할 수 있도록 필터링 적용하여 공격을 방지

🚀 빌드 방법

공식 가이드 - 빌드 방법 바로가기

📖 참고 자료

About

Shinhan SW Academy 5-1 OhGoodTeam OhGoodFood

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 5