본문 바로가기

토이프로젝트/[Spring] 쇼핑몰사이트

[Spring] 1. 쇼핑몰 프로젝트 환경 및 계획

1. 목적

Spring Framework(MVC)를 기반으로 한 쇼핑몰 프로젝트를 진행하려고 합니다. 실무에서는 직접 세팅하지 못한 환경설정, 접하지 못했던 기술(ex. RestfulAPI, JPA, Lamda, ...)들에 대한 아쉬움이 컷습니다. 그래서 앞으로 쇼핑몰 프로젝트를 통해서 아쉬운 점을 채우려고 합니다.

 

쇼핑몰 프로젝트를 통해 얻고자 하는 점은 크게 3가지가 있습니다.

첫 번째. 사용해보지 못했던 기술들을 직접 사용해보는 것 입니다. 더불어 왜 이 기술을 쓰는지, 이전 기술보다 나은점이 무엇인지 까지 공부할 계획입니다.

두 번째. 개발서적(Java의 정석, 토비의 스프링...)등을 읽다보니 

진행할 프로젝트는 쇼핑몰이 가지고 있는 핵심적인 기능들을 진행하려고 합니다. 개발 계획은 다음과 같습니다.(필요에 따라 수정 될 수 있습니다.)

세 번째. 실무와 비슷한 비즈니스 로직 설계 및 서비스를 만들어 보는 것 입니다. 실무에서는 본인이 담당한 파트만 개발할 뿐 전체적인 이커머스에 대한 비즈니스 로직을 설계 및 개발을 하지 못합니다. 그래서 그 경험을 대신 하도록 실무와 비슷한 비즈니스 로직을 가진 프로젝트를 생성하려고 합니다.

 


※ 요구 정의서

1) 사용자 종류

  • 관리자, 고객 2가지 종류의 사용자가 있다.

2) 쇼핑몰 진입 프로세스

  • 관리자는 DB에 존재하는 아이디를 사용하며, 고객은 회원가입을 한 뒤 쇼핑몰을 이용한다.
  • 고객이 로그인 하면, 바로 상품을 보여주는 페이지로 이동한다.
  • 관리자가 로그인하면, 바로 관리자 페이지로 이동한다.

3) 고객 기능

  • 고객은 로그인 후에 상품을 장바구니, 주문결재를 할 수 있다.
  • 고객은 상품 검색, 장바구니, 결재 기능을 사용할 수 있다.
  • 고객은 결재 내역 페이지로 이동하면 자신이 결제했던 결재 내역, 배송상태를 확인할 수 있다.
  • 장바구니 웹 페이지로 이동하면 자신의 장바구니 목록을 수정하거나 결재할 수 있다.
  • 모든 결재는 사이트 내에서만 사용할 수 있는 포인트로 진행된다.

4) 관리자 기능

  • 상품 카테고리, 상품을 추가할 수 있고, 상품 노출 목록을 관리할 수 있다.
  • 결재 내역 페이지로 이동하면 생성된 결제 내역에 대한 모든 정보를 볼 수 있다.
  • 발송한 상품의 경우 발송상태를 변경할 수 있다.
  • 고객의 주문, 재고 등을 통계나 보기 쉬운 형태로 관리 할 수 있다.
  • 고객에게 포인트, 쿠폰을 지급할 수 있고 지급한 이력도 조회할 수 있다.

※ 기능 정의서

출처 : 와이즈앱/와이즈리테일 [출처] 과연, 한국인이 가장 많이 쓰는 쇼핑앱은?작성자 텀즈원

1) 회원가입

  • 이메일 인증
    • mail(Spring Dependency)
  • 아이디 중복검사
  • 비밀번호 규칙
    • 최소 8자 이상, 숫자, 영문 대문자, 영문 소문자를 포함해야한다.
    • 공백, 세 번 연속 동일한 문자, ID, 과거에 사용한 암호는 사용할 수 없다.

2) 관리자 페이지

  • 회원관리
    • 회원 목록 조회(지역, 아이디 필터)
    • 회원 등록, 수정, 삭제
    • 포인트 지급
  • 상품
    • 상품 카테고리 관리
      • 등록, 수정, 삭제
      • 상품 추가, 삭제
    • 상품 관리
      • 상품 등록, 수정, 삭제
  • 장바구니
  • 결재
    • 결제 프로세스
      • 결제(고객) -> 상품 준비중(자동) -> 상품 배송(관리자) -> 상품 도착(관리자) -> 상품 수령 확인(고객)
    • 결제 목록 조회
    • 상품 상태 수정

3) 검색

  • 카테고리
    • 카테고리 영역종류는 쿠팡(현 이커머스 매출1위)을 참고하여 작성
    • depth는 1depth까지만 작성
  • 상품명
  • 정렬옵션
    • 낮은 가격순
    • 높은 가격순
    • 최신순

4) 구매

  • 포인트로 상품 구매
    • 모든 구매는 장바구니를 타는 결제
    • 구매버튼 클릭 후 구매를 안할 경우 자동으로 장바구니로 이동

5) 댓글

  • 상품 문의 댓글 기능
  • 대댓글은 관리자만 가능

 


※ 개발환경

1) IDE

  • intellij

 

2) Language

3) FrameWork

4) Build tool

  • Gradle

5) Template Engine

  • Thymeleaf

6) UI

  • Bootstrap
  • jQuery

7) DataBase

  • MySQL

 

goddaehee.tistory.com/238

 

[스프링부트 (1)] 스프링부트 시작하기 (SpringBoot 프로젝트 설정 방법)

[스프링부트 (1)] 스프링부트 시작하기 (SpringBoot 프로젝트 설정 방법) 안녕하세요. 갓대희 입니다. 이번 포스팅은 [ 스프링 부트 기초. 스프링 부트란? 그리고 스프링 부트 프로젝트 생성 방법

goddaehee.tistory.com

 


ERD

www.erdcloud.com/d/rLAtg5gKjqJTNAA3K

 

shopping mall

Draw ERD with your team members. All states are shared in real time. And it's FREE. Database modeling tool.

www.erdcloud.com


GitHub

https://github.com/oss0202

 

oss0202 - Overview

oss0202 has 22 repositories available. Follow their code on GitHub.

github.com