본문 바로가기

프로젝트

마카오 선물하기 프로젝트 1일차

원하는 상품을 선택해 친구에게 선물하는 프론트엔드,프론트엔드,API를 모두 이용해 웹 어플리케이션을 제작한다.

ㅁ 무엇을 만들 것인가?

→ 마카오 선물하기 고객을 위한 웹 사이트를 제작.

→ 5만원 금액 내에서 선물을 골라 친구에게 선물할 수 있도록 제작한다.

ㅁ 아키텍처

거시적 3-tier Architecture로 구성.

  • n-tier Architecture/Multi-tier Architecture
  • 비즈니스 로직을 완전히 분리하여 데이터베이스 시스템과 클라이언트의 사이에 배치한 클라이언트 서버 시스템의 일종.
  1. UI Layer
  2. Application Layer
  3. Domain Layer
  4. Infrastructure Layer

상위 레이어는 하위 레이어에 의존, 하위 레이어는 상위 레이어를 모름.

애플리케이션 레이어가 모든 기능 목록을 드러내고, 도메인 객체들이 협력할 수 있는 진입점을 마련.

참조:https://wikibook.co.kr/article/layered-architecture/

마찬가지로 프론트엔드 애플리케이션 하나에 적용하면 Flux Architecture가 된다.

  1. View - Action
  2. Dispatcher
  3. Store

ㅁ 사용자 스토리

  • 회원가입
  • 로그인
  • 고객은 자신임을 증명하기 위해 로그인
  • 상품 목록 확인
  • 고객은 마음에 드는 상품을 고르기 위해 상품 목록을 볼 수 있다.
  • 상품 세부 정보 확인
  • 고객은 상품을 구매하기 위해 상품의 세부 정보를 확인할 수 있다.
  • 상품 선택
  • 고객은 원하는 상품을 친구에게 선물하기 위해 상품과 개수를 선택하고 주문할 수 있다.
  • 상품 주문
  • 고객은 상품을 친궁게 보내기 위해 주문을 완료 할 수 있다.
  • 주문 목록 확인
  • 고객은 자신이 선물한 이력을 확인하기 위해 주문 목록을 확인할 수 있다.
  • 주문 세부 정보 확인
  • 고객은 자신이 선물한 상품과 메세지를 자세히 알기 위해 주문 세부 정보를 확인할 수 있다.

ㅁ 인수 테스트(Acceptance Test)

회원가입

고객은 웹 사이트를 이용해 선물하기 위해 회원가입을 해야한다.

시나리오 #1 - 회원가입을 성공했을 경우

Given

  • 회원가입 버튼을 누른다.

When

  • 이름을 조건에 맞게 입력한다.
  • 아이디를 조건에 맞게 입력한다.
  • 비밀번호를 조건에 맞게 입력한다.
  • 비밀번호 확인을 조건에 맞게 입력한다.

Then

  • 회원가입 완료가 보인다.

시나리오 #2 - 회원가입에 실패했을 경우

Given

  • 회원가입 버튼을 누른다.

When

  • 이름을 조건에 맞지 않게 입력한다.
  • 아이디를 조건에 맞지 않게 입력한다.
  • 비밀번호를 조건에 맞지 않게 입력한다.
  • 비밀번호 확인을 조건에 맞지 않게 입력한다.

Then

  • 이름을 다시 확인해주세요가 보인다.
  • 아이디를 다시 확인해주세요가 보인다.
  • 비밀번호를 다시 확인해주세요가 보인다.
  • 비밀번호 확인을 다시 확인해주세요가 보인다.

로그인

고객은 웹 사이트를 이용해 선물하기 위해 로그인을 해야한다.

시나리오 #1 - 로그인에 성공했을 경우

Given

  • 로그인 버튼을 누른다.
  • 선물하기 버튼을 누른다.

When

  • 아이디를 입력한다.
  • 비밀번호를 입력

Then

  • 홈 페이지로 이동한다.

시나리오 #2 - 로그인에 실패했을 경우

Given

  • 로그인 버튼을 누른다.
  • 선물하기 버튼을 누른다.

When

  • 다른 아이디를 입력한다.
  • 비밀번호를 입력

Then

  • 아이디 혹은 비밀번호가 맞지 않습니다가 보인다.

Given

  • 로그인 버튼을 누른다.
  • 선물하기 버튼을 누른다.

When

  • 아이디를 입력한다.
  • 다른 비밀번호를 입력

Then

  • 아이디 혹은 비밀번호가 맞지 않습니다가 보인다.

Given

  • 로그인 버튼을 누른다.
  • 선물하기 버튼을 누른다.

When

  • 아이디를 입력한다.

Then

  • 비밀번호를 입력해주세요가 보인다.

Given

  • 로그인 버튼을 누른다.
  • 선물하기 버튼을 누른다.

When

  • 비밀번호를 입력한다.

Then

  • 아이디를 입력해주세요가 보인다.

잔액 확인

고객은 얼마를 쓸 수 있는지 알기 위해 본인 계좌의 잔액을 확인할 수 있다.

시나리오 #1 - 올바르게 내 잔액 정보를 확인.

  1. (전제) 고객의 잔액 정보: A,B 고객이 50,000원을 갖고 있다.
  2. A 고객이 웹 사이트에 접속
  3. 로그인 → 내가 누구인지 인증.
  4. 회원가입 버튼이 내 잔액으로 바껴서 내 잔액이 보인다.

시나리오 #1 - 잔액이 0인 경우

Given

  • 고객 잔액 정보 세팅(전제) → 0원

When

  • 웹 사이트에 접속해서 로그인함.

Then

  • 회원가입 버튼 부분에 내 잔액:0원 이 보인다.

시나리오 #2 - 잔액이 있을 경우

Given

  • 고객 잔액 정보 세팅 (전제)Given
  • 고객 잔액 정보 세팅(전제) → 50,000원

When

  • 웹 사이트에 접속해서 로그인함.

Then

  • 회원가입 버튼 부분에 내 잔액:50,000원 이 보인다.

상품 선택

고객은 본인의 잔액 내에서 상품을 구매할 수 있다.

시나리오 #1 - 올바르게 상품을 선택했을 경우.

Given

  • 웹 사이트에 접속해서 로그인함.
  • 스토어 버튼을 누른다.

When

  • 원하는 상품을 선택한다.
  • 내 잔액 내에서 원하는 개수를 선택한다.
  • 선물하기 버튼을 누른다.

Then

  • 선물하기 페이지가 보인다.

시나리오 #2 - 잔액 이상의 수량을 선택한 경우

Given

  • 웹 사이트에 접속해서 로그인함.
  • 스토어 버튼을 누른다.

When

  • 원하는 상품을 선택한다.
  • 내 잔액 이상의 원하는 개수를 선택한다.

Then

  • 잔액이 부족하여 선물하기가 불가합니다가 보인다.

상품 구매

고객은 상품 구매에 대한 대가를 지불한다.

시나리오 #1 - 올바르게 정보를 적었을 경우.

Given

  • 웹 사이트에 접속해서 로그인함.
  • 금액 내에서 상품 개수 선택
  • 선물하기 누른다

When

  • 받는 분 성함 입력
  • 받는 분 주소 입력
  • 받는 분에게 보내는 메시지 입력
  • 선물하기 버튼 누름

Then

  • 내가 주문한 내역에 선택한 상품이보인다.

주문조회

고객은 주문한 상품에 대해 조회할 수 있다.

시나리오 #1 - 주문한 상품이 있을 경우

Given

  • 웹 사이트에 접속해서 로그인함.
  • 원하는 상품을 선택한다.
  • 금액 내에서 상품 개수를 선택한다.
  • 선물하기 누른다.
  • 받는 분 성함 입력
  • 받는 분 주소 입력
  • 받는 분에게 보내는 메시지 입력
  • 선물하기 버튼 누름

When

  • 주문조회 버튼을 누른다.

Then

  • 내가 선물한 목록이 나온다.

시나리오 #2 - 주문한 상품이 없을 경우

Given

  • 웹 사이트에 접속해서 로그인함.

When

  • 주문조회 버튼을 누른다.

Then

  • 내가 주문한 내역이 없습니다가 보인다.