Commit 0d1262a
authored
[2단계 - 행운의 로또 미션] 피터(박규성) 미션 제출합니다. (#386)
* docs: 요구사항 작성
* feat: 상수 설정
* refactor: 폴더명 수정
* feat: 로또 금액 입력받아 계산
* feat: 로또 숫자 생성
* feat: 유저의 로또 번호와 랜덤 로또 번호 비교
* feat: 당첨번호와 보너스번호 입력
* feat: app 호출
* feat: 로또 등수 구하기
* feat: 수익 계산과 수익률 계산
* feat: 미션 요구사항에 맞게 OutputView 분리
* feat: 로또 번호 중복 체크
* feat: 로또 오름차순 정렬
* feat: retryUntilSuccess 구현
* feat: 로또 게임 유효성 검사
* feat: 로또 구매 개수 출력
* refactor: 각 책임에 맞게 LottoCompany 분리
* refactor: calculateProfitRate 유틸 분리
* refactor: calculateTotalProfit 분리
* refactor: 상수 분리 및 불필요한 if문 제거
* refactor: y, n 상수 분리
* refactor: calculateMatchCount 유틸 분리
* refactor: generateUniqueNumberArray 로직 수정
* refactgor: 불필요한 인자 제거
* fix: cur -> prev로 수정
* rerfactor: 불필요한 파일 제거
* test: 오타 제거 및 테스트 코드 축약
* feat: eslint, prettier 설정
* style: prettier, eslint 포매팅
* style: 1depth 프로그래밍 요구사항 준수
* style: 매개변수 2개 이하 프로그래밍 요구사항 준수
* refactor: 유효성 검사 로직 분리
* refactor: Lotto의 필드 private으로 변경
* refactor: 유틸 함수 내 뷰 의존 분리
* refactor: 주석 및 콘솔 제거
* fix: 로또 순위 결정 로직 수정
* refactor: 로또 개수 구할 때 소수점 이하 버림
* refactor: 정적 메서드 호출에 클래스명 사용
- 보다 명시적으로 정적 메서드 호출임을 표현
* refactor: export default class 컨벤션으로 수정
* refactor: 함수 선언문을 화살표 함수 표현식으로 통일
* test: 애플리케이션 테스트 코드 작성
* feat: coverage 스크립트 추가
* test: 전체 출력에 대한 테스트 코드
* fix: 프로퍼티명 오타 수정 및 `원` 출력 메시지 추가
* refactor: 모킹 모듈화
* feat: 애플리케이션 테스트 코드의 setup 및 teardown
* test: 각 기능 요구사항 테스트 케이스 작성
* test: 각 예외 사항에 맞는 테스트 케이스
* refactor: NO, YES 상수화
* test: 재시작에 대한 테스트 코드 작성
* refactor: 개수 및 숫자 상수화
* refactor: `OUTPUT_MESSAGES` 제거
이유 : 동적으로 변경되는 값이 많아 사용성이 낮다.
* refactor: index.js로 묶어 export
* test: 로또 객체에 대한 테스트 케이스 작성
* test: LottoCompany와 LottoShop의 테스트 코드
* refactor: 적절한 네이밍으로 수정
* chore: package.json > homepage 수정
* feat: 웹 뼈대 작성
* refactor: innerHMTL을 활용해 리팩토링
* feat: 당첨 결과 화면 구현
* feat: 스타일링
* fix: 이미 구매한 로또가 있다면 실행하지 않음
* feat: 모달 구현
* refactor: 색상 상수화
* refactor: 각 렌더링 로직을 함수로 모듈화
* refactor: 돔 관련 유틸 분리
* refactor: 뷰 로직 분리
* refactor: OutputView.#print로 화면 출력 관련 로직 응집
* refactor: 상수 활용해 리팩토링
* feat: 뼈대 만드기
* chore: 스타일링
* refactor: WebOutputView에서 초기 html 렌더링
* refactor: App으로 로직 분리
* refactor: container 렌더링과 이후 로직 분리
* refactor: css 파일 분리
* refactor: 공통된 css 속성 분리
* refactor: 디자인 시스템 코드 분리
* chore: 컨테이너 요소로 감싸기
* refactor: class, id 값 문자열로 사용
이유 : class와 id를 상수화하면 유지보수가 더 어려움. (CSS에서 상수를 사용하기 어려움)
* refactor: web과 cli의 폴더 분리
* refactor: 함수 선언형으로 코드 순서 변경
* refactor: 뷰 파일을 web폴더로 분리
* refactor: Namespace BEM으로 클래스명 통일
* design: 스타일 다른 부분 수정
* feat: 유효성 검사
* refactor: __container같은 중복된느 키워드 제거
* fix: utils에서 readline 로직 제거
* fix: 경로 수정
* feat: 모달 닫는 버튼
* style: 템플릿 리터럴 형식 통일
* refactor: print에서 render로 수정
* refactor: 클래스의 메서드로 분리
* refactor: 금액을 넘기면 로또를 반환
* design: container의 고정된 높이 제거
* refactor: 시맨틱 태그에 맞게 수정
* feat: 제출 후 버튼 비활성화
* feat: EXC 혹은 배경 클릭 시 모달 닫기
* refactor: 로직 모듈화
* refactor: 이벤트 위임으로 한 곳에서 이벤트 리스너를 관리
* refactor: 에러 처리를 한 곳에서 관리
* refactor: 중괄호 제거
* refactor: remove로 제거하는 로직 간결화
* refactor: 불필요한 return 제거
* refactor: 이벤트 리스너를 한 번만 등록하도록 메서드 분리
* refactor: 콘솔 제거
* refactor: 새로운 div로 감싸지 않도록 기존 innerHTML에 더하기
* refactor: 버튼 클릭을 이벤트 위임으로 수정
* refactor: 모든 이벤트 리스너를 App에서 관리
* design: 다른 디자인 수정
* feat: scss도 git에 업로드
* refactor: 미사용 유틸 제거
* refactor: 다시 시작을 OutputView에서 호출
* refactor: 사용하지 않는 Modal 컴포넌트 제거
* chore: innerHTML에서 insertAdjacentHTML로 수정
* feat: header, footer 높이만큼 간격
* feat: 로또 구매 시 input도 disabled
* feat: my-modal 커스텀 요소 구현
* refactor: 모달 제거하는 로직 수정
* fix: 오타 제거
* refactor: MyModal로 수정
* refactor: valueAsNumber로 숫자로 값 얻기
* chore: 기본값 제거
* docs: 주석으로 css에 대한 설명 추가
* refactor: import만 수행
* refactor: call 바인딩 제거
* refactor: 삼항 연산자 대신 filter로 리팩토링
* refactor: `formatMessage` 유틸 이용해 리팩토링
* fix: showModal 로직 제거
* feat: jest context 세팅
* test: context를 활용해 테스트 코드 구체적으로 작성
* test: test를 it으로 수정
* docs: 테스트 설명글 수정
* refactor: INPUT_MESSAGES 상수 활용
* refactor: cli를 command로 수정
* refactor: 중복 파일 제거
* fix: 빠진 reutrn 추가
* refactor: 중복 파일 제거
* feat: github actions로 배포
* docs: 리드미 업데이트
* chore: deploy.yml 수정
* fix: 오타 제거
* feat: 배포 환경 설정
* fix: vite 실행되지 않는 이슈
* refactor: 로또 당첨 결과를 Map으로 관리1 parent 39d4632 commit 0d1262a
43 files changed
Lines changed: 1585 additions & 284 deletions
File tree
- .github/workflows
- __tests__
- src
- command
- views
- domain
- helpers
- lib
- views
- web
- css
- custom-elements
- views
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
11 | | - | |
12 | | - | |
13 | | - | |
14 | | - | |
15 | | - | |
16 | | - | |
17 | | - | |
18 | | - | |
19 | | - | |
20 | | - | |
21 | | - | |
22 | | - | |
23 | 11 | | |
24 | | - | |
25 | | - | |
26 | | - | |
27 | | - | |
28 | | - | |
29 | | - | |
30 | | - | |
31 | | - | |
32 | | - | |
33 | | - | |
34 | | - | |
35 | | - | |
36 | | - | |
37 | | - | |
38 | | - | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
39 | 17 | | |
40 | 18 | | |
41 | 19 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
22 | 22 | | |
23 | 23 | | |
24 | 24 | | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
54 | 54 | | |
55 | 55 | | |
56 | 56 | | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
0 commit comments