Git Product home page Git Product logo

online-marketplace's Introduction

🛍 온라인 마켓플레이스


🛒 개요

  • 쿠팡을 클론하여 e-commerce 서비스의 서버를 설계하고 구축합니다.
  • 이 프로젝트는 다음의 목표를 갖습니다.
    • 대규모 트래픽과 대용량 데이터 처리가 가능하도록 합니다.
    • 유지보수성을 고려하여 객체지향설계에 따라 개발하고, 테스트코드를 작성합니다.
    • CI/CD 를 구성하여 빌드/테스트/배포를 자동화합니다.


🛒 화면 설계

  • 카카오 오븐 image


🛒 기술 스택 & 아키텍처

기술 스택

  • Java
  • SpringBoot
  • MyBatis
  • mySQL

아키텍처

  • 이미지1 (프로젝트 구조)
  • ERD

스크린샷 2021-06-15 오후 6 54 21



🛒 개발 방식

🔹 Git flow

git-flow


🔹 Rule/Convention


🔹 Documentation

  • Prototype
  • Architecture
  • Usecase
  • Technical Issue
  • Performance Test
  • Rule & Convention

    ▶️ Wiki 보러가기

online-marketplace's People

Contributors

hello-jiwon avatar sileeee avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

online-marketplace's Issues

회원 가입

  • 기능 : 회원가입
  • 로직
    • 유저는 name, email, password, phone 을 갖고 있다.
    • 유저는 회원가입을 요청한다.
    • 동일한 email 을 가진 다른 유저가 존재하면, 회원가입에 실패한다.
      • 그렇지 않으면, 회원가입에 성공한다.
  • 구현 이슈
    • password 는 단방향 암호화하여 저장한다.

리뷰 평가하기

  • 기능
    • 리뷰 평가하기
  • 로직
    • 이미 평가했으면 삭제하고 다시 평가
  • 구현 이슈

리뷰 작성하기

  • 기능

    • 리뷰 작성하기
  • 로직

    • 리뷰 작성
  • 구현 이슈

    • 이미지 파일 등록

회원가입 - 테스트 코드

  • 기능 : 회원가입 테스트 코드 작성

  • 구성

    • 이메일 중복으로 회원가입에 실패하는 경우
    • 회원가입 성공하는 경우
  • 구현 이슈

    • JUnit 을 활용
    • controller 통합 테스트 필요
    • service 단위 테스트 필요

쿠폰 받기

  • 기능

    • 쿠폰/목록 페이지에서 쿠폰 받기 기능
  • 로직

    • 로그인 검증 후, 사용자의 쿠폰목록에 등록

상품 목록 페이지

  • 기능

    • 배송 타입에 따른 상품 목록 보기
    • 참고
  • 로직

    • 배송 타입에 따라 상품을 리스트로 반환
  • 구현 이슈

CI 구성하기

  • 기능

    • 젠킨스 활용
  • 로직

  • 구현 이슈

    • 젠킨스 공부

CD 구성하기

  • 기능

    • 네이버 클라우드 활용
    • WAS, MySQL(Replication 적용), Redis
    • profile 설정값 분리
  • 로직

  • 구현 이슈

결제하기

  • 기능

  • 로직

    • 카드 결제
  • 구현 이슈

    • 트랜잭션 처리

상품 검색

  • 기능

    • 상품 검색 결과 보기
    • 참고
  • 로직

    • 상품 검색 결과 리스트로 반환
      • 검색 결과 없으면 빈 리스트 반환
  • 구현 이슈

로그아웃

  • 기능 : 로그아웃
  • 로직
    • 유저는 로그인 상태이다.
    • 유저는 로그아웃을 요청한다.
    • 로그아웃 후, 로그인 가능한 상태가 된다.
  • 구현 이슈
    • session 에 로그인 정보를 삭제한다.

로그인 - 테스트코드

  • 기능 : 로그인 테스트 코드 작성

  • 구성

    • 존재하지 않는 이메일로 로그인에 실패하는 경우
    • 틀린 패스워드로 로그인에 실패하는 경우
    • 로그인 성공하는 경우
  • 구현 이슈

    • JUnit 을 활용
    • controller 통합 테스트 필요
    • service 단위 테스트 필요

로그인

  • 기능 : 로그인
  • 로직
    • 유저는 email, password 를 입력한다.
    • 유저는 로그인을 요청한다.
    • 존재하지 않는 email 이거나, password 가 일치하지 않으면 로그인에 실패한다.
      • 그렇지 않으면, 로그인에 성공한다.
  • 구현 이슈
    • 로그인 정보를 session 으로 저장하여 상태를 유지한다.

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.