Skip to content

creamleeminsoo/UsedPark

Repository files navigation

💻 프로젝트 소개

중고 상품을 등록하고 판매할 수 있는 중고거래 플랫폼입니다.
사용자는 상품을 등록하고, 실시간 채팅을 통해 판매자와 소통하며 상품을 구매할 수 있습니다.
또한, Q&A 및 자유게시판을 통해 다양한 주제를 나눌 수 있는 커뮤니티 기능도 제공합니다.


📑 목차

  1. 프로젝트 소개
  2. 개발 인원
  3. 개발 기간
  4. UI
  5. 기능
  6. 문제 해결 과정
  7. 개발 환경
  8. 사용한 도구

🚶 개발 인원

  • 1인 프로젝트

⌚ 개발 기간

  • 2024.08 ~ 2024.11 (총 3개월)

🎨 UI

▶️ 상품 리스트

상품

▶️ 게시판

게시판

▶️ 알림 기능

알림기능

▶️ 채팅 기능

채팅기능

▶️ 마이 페이지

마이페이지

▶️ 관리자 페이지

관리자페이지


🔍 기능

상품 CRUD

  • 상품 생성, 조회, 수정, 삭제 기능 제공.

채팅

  • WebSocket + STOMP 프로토콜로 비동기 실시간 채팅 구현.
  • Spring Scheduler로 일주일 지난 채팅 메시지 자동 삭제.

알림

  • SSE 프로토콜을 이용한 실시간 알림 구현.
  • 상세 설명.

마이페이지

  • 등록한 상품, 게시글, 장바구니 조회.
  • 상품 상태 변경 (판매중, 판매 완료).

관리자 페이지

  • 회원, 상품, 게시글 관리 및 통계 분석.

검색 및 인증

  • 상품/게시글/유저 검색.
  • JWT 및 OAuth2를 활용한 인증.

💡 문제 해결 과정

JPA N+1 문제 해결

Proxy 객체를 활용한 쿼리 최적화

로깅 프레임워크 최적화

비동기 처리 및 복합 인덱스 활용


⚙️ 개발 환경

  • 언어: Java (JDK17), JavaScript
  • 프레임워크: SpringBoot 3.2.0
  • 데이터베이스: MySQL, H2
  • 템플릿 엔진: Thymeleaf

🧰 사용한 도구

  • 인증: JWT, OAuth2 (Google, Kakao)
  • 성능 테스트: JMeter
  • 배포: AWS (Elastic Beanstalk, RDS, S3)
  • 채팅: WebSocket, STOMP
  • 알림: SSE
  • 로깅: Slf4j, Logback
  • CI/CD: GitHub Actions
  • 코드 관리: Git

Releases

No releases published

Packages

No packages published