Git Product home page Git Product logo

4th_week_lv5's Introduction

4th_week_lv5

UseCase

level5

ERD

2023-11-09_22-19-20

요구사항 확인 (필수 구현 기능)

  • 회원 가입 기능
    • 이메일, 비밀번호, 성별, 전화번호, 주소, 권한을 저장할 수 있습니다.
      • ADMIN, USER 권한이 있습니다.
      • 이메일올바른 이메일 형식을 지켜야 합니다.
      • 비밀번호최소 8자 이상, 15자 이하이며 알파벳 대소문자(a~z, A~Z), 숫자(0~9), 특수문자로 구성되어야 합니다.
    • 회원가입 성공을 확인할 수 있는 값을 반환합니다.
      • ex) HTTP Status Code, Error Message …
  • 로그인 기능
    • 회원은 이메일, 비밀번호를 입력하여 서버에 로그인을 요청할 수 있습니다.
    • 로그인 성공 시, 회원의 정보JWT를 활용하여 토큰을 발급하고, 발급한 토큰을 Header에 추가한 후 로그인 성공을 확인할 수 있는 값과 함께 반환합니다.
      • ex) HTTP Status Code, Error Message …
  • 상품 등록 기능
    • 상품명, 가격, 수량, 소개, 카테고리를 저장할 수 있습니다.
      • 로그인을 통해 발급받은 JWT가 함께 요청됩니다.
      • ADMIN 권한을 가진 회원만 강사 등록이 가능합니다.
      • 카테고리 종류는 자율입니다.
    • 등록된 상품의 정보를 반환 받아 확인할 수 있습니다.
  • 선택한 상품 조회 기능
    • 선택한 상품의 정보를 조회할 수 있습니다.
      • 모든 사용자가 상품을 조회할 수 있습니다.
  • 상품 목록 조회 기능
    • 등록된 상품들을 조회할 수 있습니다.
      • 모든 사용자가 상품을 조회할 수 있습니다.
      • 페이지 별로 상품을 순서대로 정해진 숫자만큼 조회할 수 있습니다.
    • 조회된 상품 목록은 선택한 기준에 의해 정렬됩니다.
      • 상품명, 가격 중 기준을 선택할 수 있습니다.
      • 내림차순, 오름차순을 선택할 수 있습니다.
  • 장바구니 추가 기능
    • 선택한 상품을 장바구니에 추가할 수 있습니다.
      • 로그인을 통해 발급받은 JWT가 함께 요청됩니다.
      • 회원만 장바구니에 상품을 추가하는 것이 가능합니다.
      • 장바구니에 추가된 상품은 구매할 만큼의 수량으로 선택될 수 있습니다.
      • 장바구니에는 여러 개의 상품이 추가될 수 있습니다.
    • 장바구니 추가 성공을 확인할 수 있는 값을 반환합니다.
      • ex) HTTP Status Code, Error Message …
  • 장바구니 조회 기능
    • 장바구니에 추가된 상품들의 정보와 수량을 조회할 수 있습니다.
      • 로그인을 통해 발급받은 JWT가 함께 요청됩니다.
      • 회원만 장바구니 조회가 가능합니다.
    • 장바구니에 담긴 상품들의 총 결제 금액을 확인할 수 있습니다.
  • 장바구니 수정 기능
    • 장바구니에서 선택한 상품의 수량을 수정할 수 있습니다.
      • 로그인을 통해 발급받은 JWT가 함께 요청됩니다.
      • 회원만 장바구니 수정이 가능합니다.
    • 장바구니 수정 성공을 확인할 수 있는 값을 반환합니다.
      • ex) HTTP Status Code, Error Message …
  • 장바구니 삭제 기능
    • 장바구니에서 선택한 상품을 삭제할 수 있습니다.
      • 로그인을 통해 발급받은 JWT가 함께 요청됩니다.
      • 회원만 장바구니 삭제가 가능합니다.
    • 장바구니 삭제 성공을 확인할 수 있는 값을 반환합니다.
      • ex) HTTP Status Code, Error Message …
  • 공통 기능
    • 로그인 요청의 비밀번호 불일치 등 API 요청의 예외가 발생하는 모든 경우에 대해서 실패(예외상황)에 대해 판단할 수 있는 Status Code, Error 메시지등의 정보를 반환합니다.

추가 구현 기능

  • 상품 이미지 기능
    • 상품의 이미지를 업로드할 수 있습니다.
      • AWS의 S3를 사용하여 저장합니다.
  • 서비스 배포
    • AWS의 EC2와 RDS를 사용하여 ‘스파르타 굿즈 판매 사이트’ 프로젝트를 배포합니다.
  • Spring Security를 적용하여 인증/인가를 구현합니다.
    • Security의 Secured 기능을 사용하여 권한별로 API를 제어할 수 있습니다.
  • swagger를 구글링해 보고 프로젝트에 적용해 보세요!

4th_week_lv5's People

Contributors

mooooonmin avatar

Watchers

 avatar

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.