Skip to content

Hwangwonuk/cucumber-market

Repository files navigation

📁 cucumber-market

  • 당근마켓, 번개장터와 같은 중고상품 거래 플랫폼 오이마켓을 개발하는 토이프로젝트
  • 웹 UI는 카카오 오븐으로 대체하여 프론트엔드 부분은 생략하고 백엔드에 초점을 맞춰 개발에 집중

📌 개발중점

  • 단순 기능 구현 뿐 아니라 코드의 재사용성유지보수성을 고려하여 구현하는 것을 목표로 개발
  • 현재까지 학습한 서버사이드 렌더링 기술이 아닌 실제 프론트와의 협업을 고려하여 개발
  • 확장성을 위한 객체지향의 기본 원리 DIP, OCP 준수
  • Spring framework의 IOC/DI , AOP의 활용
  • 라이브러리 및 기능 추가 시 이유있는 선택과 사용 목적 고려
  • key-value 형태로 구성된 JSON으로 모든 데이터 통신
  • Runtime Exception 예외처리 선정과 그 종류에 따른 Http Status 응답 고려
  • 대용량 트래픽을 고려한 로그인 기능 구현
  • 리소스를 고려한 의미있는 도메인 설계 - Restful API
  • 부하 분산 및 장애대응을 위한 MySQL 쿼리 요청 분기(Replication) 및 Redis Master - Slave 환경구축
  • 다중서버 환경 구축 및 그에 따른 CI/CD 구축

🔧 사용 기술

Category Content
Language Java 11
Framework Spring Boot 2.5.7
RDBMS MySQL 8.0.x
SQL Mapper Mybatis
Session Server Redis
Web Server Nginx
CI/CD Jenkins
Container Docker
Build Tool Gradle 7.3
API Documentation Springfox OpenAPI 3.0
Boilerplate Code Library Lombok
IDE IntelliJ IDEA

📺 Web Application UI

👉 cucumber-market ProtoType UI 카카오 오븐 링크

👇 미리보기

🎬 Architecture

👉 전체 아키텍처 링크
👉 MySQL 아키텍처 링크
👉 Redis 아키텍처 링크

  • Architecture
    아키텍처

📚 Layer

💾 ERD

👉 상세정보 보러가기

📃 Springfox OpenAPI 3.0

👇 Springfox(Swagger) 미리보기

💻 주요 기능

👉 각 기능별 비지니스 로직
👉 각 기능별 Use Case

👥 사용자

  • 회원가입, 탈퇴
  • 로그인, 로그아웃
  • 마이페이지, 정보수정
  • 판매물품 등록, 수정, 삭제
  • 물품 검색기능
  • 상품찜 기능
  • 비밀 댓글로 1:1채팅기능

💂‍♂️ 관리자

  • 전체회원 조회
  • 기존회원 관리자 등록
  • 카테고리 관리

⚠️ 프로젝트를 진행하며 겪은 Issue 및 학습한 내용

About

중고물품 거래사이트 오이마켓 토이프로젝트

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages