Giter VIP home page Giter VIP logo

pretty-pop's Introduction

PrettyPOP

손글씨 상품 쇼핑몰 예쁜피오피 홈페이지 개인 프로젝트


⬛ 사용 기술

백엔드

  • Java 11
  • Spring Boot 2.7.10
  • Spring Security
  • JPA
  • Spring Data JPA
  • QueryDSL 5.0.0

빌드

  • Gradle

프론트엔드

  • Thymeleaf
  • Javascript

데이터베이스

  • H2 Database 2.1.214 (개발)
  • MySQL 8.0.32

배포

  • Cloudtype

⬛ 데이터

  • http://prettypop.co.kr
  • 예쁜피오피의 허락을 받고 크롤링하여 사용
  • 상품 이미지는 imgbb에 업로드

크롤링

  • Python
  • Selenium

⬛ 도메인 설계

ENTITY


⬛ ERD

ERD


⬛ API

API


pretty-pop's People

Contributors

h-spear avatar

Stargazers

 avatar 고수림 avatar Youkyung Yang avatar

Watchers

 avatar

pretty-pop's Issues

Entity

entity

Entity

  • Member
  • Item
  • Order
  • Delivery
  • OrderItem
  • CartItem
  • WishItem
  • Review
  • Auth!

Repository

Repository

  • MemberRepository
  • ItemRepository
  • OrderRepository

View

  • Thymeleaf
  • Javascript

메인화면

View

Test

리포지토리 테스트

* 쿼리 메서드는 테스트하지 않음
* @Query로 직접 작성한 메서드는 테스트함
* 단순 fetchJoin을 적용한 메서드는 테스트하지 않음
* Querydsl, JdbcTemplate로 작성한 메서드는 테스트함

서비스 테스트

* Mockito를 이용한 단위 테스트
* 단순히 Repository를 Serving하는 메서드를 테스트하지 않음
* 단순히 DTO로 변환시키는 메서드는 테스트하지 않음

엔티티 생성

To-do

  • Member, Item, Order, Delivery, OrderItem, CartItem, WishItem
  • BaseEntity를 상속받아 엔티티를 생성
    - registrationDate
    - lastModifiedDate
  • Address : 주소 정보를 임베디드 타입 객체로 생성
    - zipcode : 우편번호
    - address : 도로명 주소
    - jibunAddress : 지번 주소
    - detailAddress : 상세 주소
  • 주문 상태, 배송 상태, 물건 상태는 enum 타입
    - OrderStatus
    - DeliveryStatus
    - ItemStatus
    - EnumType.STRING 사용 ***

ETC

상품 목록 필터 기능 구현

  • 정렬 필터

    • 가격 오름차순, 내림차순
    • 리뷰 내림차순
    • 평점 내림차순
    • 신상품순
    • 판매량 내림차순
  • 평점 필터

    • 전체
    • 4이상
    • 3이상
    • 2이상
    • 1이상
  • 가격 필터

    • 전체
    • 10,000 이하
    • 10,000~20,000
    • 20,000~30,000
    • 30,000~40,000
    • 40,000~50,000
    • 50,000 이상

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.