jessi68 / javascript_lotto

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

level1 - 행운의 로또

자바스크립트로 구현 하는 로또 어플리케이션

template version

🔥 Projects!

명령어: cypress 여는 명령어 ./node_modules.bin\cypress open

리팩토링 해야 할 것들

  • 상수에서 manual 관련된 상수, auto 관련 상수 따로 영역을 구분하기. json 형태로

🎯 step1 구입 기능

  • [o ] 로또 구입 금액을 입력하면, 금액에 해당하는 로또를 발급해야 한다.
  • 예외처리: 소비자가 숫자가 아닌 문자를 입력할 경우
  • 소비자가 1000보다 적게 입력할 경우
  • [o ] 로또 1장의 가격은 1,000원이다.
  • [o ] 소비자는 자동 구매를 할 수 있어야 한다.
  • [o ] 복권 번호는 번호보기 토글 버튼을 클릭하면, 볼 수 있어야 한다.

🎯🎯 step2 당첨 결과 기능

  • 테스트 케이스

    • [o] 가격을 잘못 입력 했을때 경고 메세지가 나오는지 테스트
    • [o] 가격을 제대로 입력 했을때, 알맞은 개수의 로또를 구입했는지 테스트
    • [o] 로또가 1~45 내의 숫자 6개가 생성이 되었는지 테스트
    • [o] 로또 당첨 번호에 따라 등수를 제대로 매겼는지 테스트
  • 결과 확인하기 버튼을 누르면 당첨 통계, 수익률을 모달로 확인할 수 있다.

    • 당첨 통계 세부 사항
    • [o] 당첨 번호를 입력받아 숫자 배열로 만듦.
    • [o] 숫자 배열을 바탕으로 각 당첨 등수에 해당하는 로또 개수를 찾는 알고리즘 구현
    • [] 각 당첨 등수에 해당하는 로또 개수를 보여주는 기능
    • 수익률 세부 사항
    • [o] 구입한 로또 들에 대한 수익을 계산하는 기능
    • [o] 수익률을 모달로 확인 할 수 있는 기능
      • 모달 창 관련 세부 사항
        • 모달 밖의 창을 클릭하면 모달이 닫히는 기능
  • [o] 로또 당첨 금액은 고정되어 있는 것으로 가정한다.

  • [o] 다시 시작하기 버튼을 누르면 초기화 되서 다시 구매를 시작할 수 있다.

🎯🎯🎯 step3 수동 구매

  • 소비자는 수동 구매(스스로 구매 번호를 입력)를 할 수 있어야 한다. -[0] 수동 구매 금액 입력, 로또 번호 입력 구현
  • 수동 구매 후 남는 금액이 있다면 자동으로 구매할 수 있어야 한다.
  • 위 기능들이 정상적으로 동작하는지 Cypress를 이용해 테스트한다.

⚙️ Before Started

Tip 로컬에서 서버 띄워서 손쉽게 static resources 변경 및 확인하는 방법

로컬에서 웹서버를 띄워 html, css, js 등을 실시간으로 손쉽게 테스트해 볼 수 있습니다. 이를 위해서는 우선 npm이 설치되어 있어야 합니다. 구글에 npm install 이란 키워드로 각자의 운영체제에 맞게끔 npm을 설치해주세요. 이후 아래의 명령어를 통해 실시간으로 웹페이지를 테스트해볼 수 있습니다.

npm install -g live-server

실행은 아래의 커맨드로 할 수 있습니다.

live-server 폴더명

👏 Contributing

만약 미션 수행 중에 개선사항이 보인다면, 언제든 자유롭게 PR을 보내주세요.


🐞 Bug Report

버그를 발견한다면, Issues에 등록해주세요.


📝 License

This project is MIT licensed.

About

License:MIT License


Languages

Language:CSS 56.6%Language:JavaScript 35.7%Language:HTML 7.6%