Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[1단계 - 자판기] 호프(김문희) 미션 제출합니다. #4

Merged
merged 43 commits into from
Mar 31, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
816db32
docs: 기능추가목록 문서 작성
hwangstar156 Mar 22, 2022
f909f20
feat: 앱 기본 마크업 작성
hwangstar156 Mar 22, 2022
1769c80
feat: interface로 도메인 모델링 추가
hwangstar156 Mar 22, 2022
e77cb2a
feat: 상품을 관리하는 도메인 로직 추가
hwangstar156 Mar 22, 2022
942c5b0
test: 상품을 관리하는 도메인에 관한 테스트 코드 추가
hwangstar156 Mar 22, 2022
ea26c6c
feat: 잔액을 관리하는 도메인 로직 추가
hwangstar156 Mar 22, 2022
ddc1b90
test: 잔액을 관리하는 도메인에 관한 테스트 코드 추가
hwangstar156 Mar 22, 2022
2f117c6
feat: interface 내용 수정
hwangstar156 Mar 23, 2022
6defd4e
feat: 상품명 중복 검증 추가
hwangstar156 Mar 23, 2022
c118cb8
feat: 상품 관리 페이지 구현
hwangstar156 Mar 23, 2022
b201ad8
feat: 상품관리 페이지 css 스타일링 추가
hwangstar156 Mar 23, 2022
540740f
feat: 상품 삭제 기능 추가
hwangstar156 Mar 23, 2022
c13f83d
feat: 상품 수정 기능 추가
hwangstar156 Mar 23, 2022
70a1e5a
feat: 상품 수정시 유효한 입력인지 확인하는 기능 추가
hwangstar156 Mar 23, 2022
db21791
feat: 상품 수정클릭시 다른 이벤트가 안되도록 막는 기능 추가
hwangstar156 Mar 23, 2022
8c98473
feat: 해쉬뱅을 이용하여 spa 기능 추가
hwangstar156 Mar 23, 2022
cbb45c4
feat: 잔돈 관리 탭 구현 추가
hwangstar156 Mar 23, 2022
0ee1850
refactor: 에러메시지및 매직 넘버들 상수화하여 관리
hwangstar156 Mar 24, 2022
86d2244
fix: 에러 수정
hwangstar156 Mar 24, 2022
0c1e239
feat: form에서 제출될시 input창 초기화 기능 추가
hwangstar156 Mar 24, 2022
5df5db0
docs: 구현한 기능 문서에 추가
hwangstar156 Mar 24, 2022
88dc290
chore: gh-pages 추가
hwangstar156 Mar 24, 2022
d658898
chore: 불필요한 주석, consol.log 제거 / dist 파일 제거
moonheekim0118 Mar 25, 2022
236b07c
chore: eslint-ts 설정
moonheekim0118 Mar 25, 2022
ec05329
refactor: querySelector 유틸 함수로 분리
moonheekim0118 Mar 25, 2022
1d028c8
refactor: Product-ProductProcessMachine 구조 수정
moonheekim0118 Mar 29, 2022
2aa1ff5
feat: Id 생성하는 유틸함수 작성
moonheekim0118 Mar 29, 2022
4fe6540
refactor: validation 함수 분리
moonheekim0118 Mar 29, 2022
f62e0cf
refactor: Element Update 방식 수정(상품관리탭)
moonheekim0118 Mar 29, 2022
ed12e95
refactor: Dom init 수정
moonheekim0118 Mar 30, 2022
3d4dad4
refactor: interface 이름 수정, validation 분리
moonheekim0118 Mar 30, 2022
1f5ee11
refactor: 중복되는 dom selecting 제거
moonheekim0118 Mar 30, 2022
030fa5e
refactor: querySelector util 로 교체
moonheekim0118 Mar 30, 2022
51b7f03
feat: 이벤트 해제 구현
moonheekim0118 Mar 31, 2022
f951c10
refactor: 이벤트 해제 구현 제거
moonheekim0118 Mar 31, 2022
2b44032
refactor: editied 상태 제거
moonheekim0118 Mar 31, 2022
e075c97
refactor: 불필요한 import 제거
moonheekim0118 Mar 31, 2022
50947e3
refactor: 메서드명 수정
moonheekim0118 Mar 31, 2022
bb74ded
refactor: 메서드/화살표함수 구분
moonheekim0118 Mar 31, 2022
9f61ee9
refactor: 메서드명 수정
moonheekim0118 Mar 31, 2022
f3da0f5
refactor: 메서드명 수정
moonheekim0118 Mar 31, 2022
3958203
refactor: 상수->enum으로 수정
moonheekim0118 Mar 31, 2022
3f9eddc
refactor: typescript 로 수정
moonheekim0118 Mar 31, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions .eslintrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"root": true,
"parser": "@typescript-eslint/parser",
"plugins": [
"@typescript-eslint"
],
"extends": [
"eslint:recommended",
"plugin:@typescript-eslint/eslint-recommended",
"plugin:@typescript-eslint/recommended"
],
"rules":{
"no-undef":"off"
}
}
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
# Dependency directories
node_modules/
node_modules/
dist/
3 changes: 3 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"liveServer.settings.port": 5501
}
21 changes: 21 additions & 0 deletions docs/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# 상품 관리 탭

- [x] 최초 상품 목록은 비워진 상태이다.
- [x] 상품명, 가격, 수량을 입력해 상품을 추가할 수 있다.
- 상품명은 최대 10글자까지 가능하다.
- 상품 가격은 100원부터 시작하며, 최대 10,000원까지 가능하다. 그리고 10원으로 나누어 떨어져야 한다.
- 한 제품당 수량은 최대 20개까지 넣을 수있다.
- [x] 관리자는 추가한 상품을 확인할 수 있다.
- [x] 관리자는 추가한 상품을 수정, 삭제할 수 있다.
- [x] 수정 시 상품명, 가격, 수량 정보 영역 자체가 인풋 영역으로 변경된다.
- [x] 삭제 시 confirm을 활용하여 사용자에게 다시 한번 확인한다.

# 잔돈 충전 탭

- [x] 잔돈 충전탭은 자판기가 보유할 금액을 충전하는 기능을 수행한다.

- [x] 잔돈 충전 탭에서 최초 자판기가 보유한 금액은 0원이며, 각 동전의 개수는 0개이다.
- [x] 잔돈 충전 입력 요소에 충전할 금액을 입력한 후, 충전하기 버튼을 눌러 자판기 보유 금액을 충전할 수 있다.
- [x] 잔돈은 10원으로 나누어 떨어지는 금액만 투입할 수 있다. 보유할 수 있는 최대 금액은 100,000원이다.
- [x] 자판기 보유 금액만큼의 동전이 무작위로 생성된다.
- [x] 자판기 보유 금액을 누적하여 충전할 수 있다. 추가 충전 금액만큼의 동전이 무작위로 생성되어 기존 동전들에 더해진다.
29 changes: 21 additions & 8 deletions index.html
Original file line number Diff line number Diff line change
@@ -1,16 +1,29 @@
<!DOCTYPE html>
<html lang="ko">

<head>
<head>
<meta charset="UTF-8" />
<title>자판기</title>
<meta name="viewport" content="width=device-width, initial-scale=1" />
</head>
</head>

<body>
<body>
<div id="app">
<h1>🍿 자판기 🍿</h1>
<h1>🍿 자판기 🍿</h1>
<nav id="page-tab-container">
<a
class="nav-button product-management-button"
href="#!productManagement"
>
상품 관리
</a>
<a class="nav-button changes-charge-button" href="#!changesCharge">
잔돈 충전
</a>
<a class="nav-button product-purchase-button" type="button">
상품 구매
</a>
</nav>
<div id="page"></div>
</div>
</body>

</html>
</body>
</html>
Loading