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단계 - 음식점 목록] - 버건디(전태헌) 미션 제출합니다. #104

Merged
merged 110 commits into from
Mar 12, 2024
Merged
Show file tree
Hide file tree
Changes from 54 commits
Commits
Show all changes
110 commits
Select commit Hold shift + click to select a range
038dae2
feat: setup build configurations and templates
woowapark Feb 27, 2023
a711573
docs: 기능 구현 목록 작성
healim01 Mar 5, 2024
4413e1f
init: eslint setting
healim01 Mar 5, 2024
9c01aee
feat: 레스토랑 객체 생성
healim01 Mar 5, 2024
069e99d
feat: 레스토랑 리스트 도메인 작업
healim01 Mar 5, 2024
f5c0da0
feat: index.js 추가
healim01 Mar 5, 2024
70b1455
chore: 파일 이름 오타 수정
healim01 Mar 5, 2024
1f27796
feat: header 컴포넌트 생성
healim01 Mar 5, 2024
2022f5e
feat: filter bar 컴포넌트 생성
healim01 Mar 5, 2024
2c10c10
feat: 레스토랑 리스트 컴포넌트 생성
healim01 Mar 5, 2024
ec5a98f
feat: 레스토랑 컴포넌트 생성
healim01 Mar 5, 2024
18c2597
feat: 도메인에서 로컬스토리지 사용
healim01 Mar 5, 2024
d613e1c
feat: 모달 컴포넌트 생성
healim01 Mar 5, 2024
e9c1850
chore: 사진 아이콘 import
healim01 Mar 6, 2024
4e6eb09
feat: 레스토랑 컴포넌트 사진 임포트 및 컴포넌트 수정
healim01 Mar 6, 2024
044bd96
feat: 모달 이벤트 리스너 작업
healim01 Mar 6, 2024
3418370
feat: 모달 오픈 이벤트 핸들러 작업
healim01 Mar 6, 2024
b6f5d1c
feat: dimmer 클릭시 모달 닫기 기능 추가
healim01 Mar 6, 2024
c18df77
feat: 모달 버튼 분리 및 카테고리 선택자 추가
healim01 Mar 6, 2024
3f22d31
feat: modal 내부 컴포넌트 추가
healim01 Mar 6, 2024
2aa4137
chore: 탬플릿 변수 이름 수정
healim01 Mar 6, 2024
87cdfa0
feat: 데이터 store 및 필터링 서비스 분리
healim01 Mar 6, 2024
d342de2
feat: 카테고리 필터링 기능
healim01 Mar 6, 2024
ffc46f1
feat: 문자열을 html dom 으로 변환하는 유틸
healim01 Mar 6, 2024
41d16b6
feat: 솔팅 메뉴 기능 추가
healim01 Mar 7, 2024
5413e3c
feat: 거리순 솔팅 중 같은 거리일 시 이름순으로 지정
healim01 Mar 7, 2024
0076367
feat: 솔팅과 필터링 모두 적용 작업
healim01 Mar 7, 2024
49ee412
feat: 새로운 레스트랑 추가 기능 작업
healim01 Mar 7, 2024
57de307
feat: 변경사항 이후리랜더 기능 추가
healim01 Mar 7, 2024
94eb2cf
feat: 레스토랑 추가 모달 내부 작업
healim01 Mar 7, 2024
560a9a3
refactor: filter bar 메서드 분리 및 format 함수 적용
healim01 Mar 7, 2024
89025b0
refactor: header 메서드 분리 및 format 함수 적용
healim01 Mar 7, 2024
14f6c0b
refactor: restaurant 컴포넌트 메서드 분리
healim01 Mar 7, 2024
92fd1b8
refactor: modal content format 함수 적용
healim01 Mar 7, 2024
c78e70f
feat: app 컴포넌트 생성
healim01 Mar 7, 2024
c784cdd
chore: template 이름 변경
healim01 Mar 7, 2024
18ef10d
refactor: 랜더 함수 호출 없애기
healim01 Mar 7, 2024
fc16e30
feat: 서브밋 버튼 클릭 후 validate 체크 및 에러 메세지 출력
healim01 Mar 7, 2024
cd078e7
feat: 에러 메세지 이후 수정시 메세지 삭제 기능 추가
healim01 Mar 7, 2024
d7cb2b7
refactor: 핸들러 함수 분리
healim01 Mar 7, 2024
c2107fb
chore: css 클래스 이름 변경
healim01 Mar 7, 2024
2abf985
feat: 서브밋 시 이전 에러 메세지 삭제
healim01 Mar 7, 2024
ca77005
feat: 폼 제출/취소시 이전 데이터 삭제
healim01 Mar 7, 2024
14b6b48
feat: 등록된 가게 중복 체크
healim01 Mar 7, 2024
905d00f
refactor: 불필요한 메서드 병합
healim01 Mar 7, 2024
75fea08
refactor: handler 분리 작업
healim01 Mar 7, 2024
90ec7a1
refactor: handler 분리 작업 및 불필요한 라인 정리
healim01 Mar 7, 2024
2fc6475
refactor: eslint 세팅 후 리팩토링
healim01 Mar 8, 2024
43c2c49
refactor: mapped interface 사용
healim01 Mar 8, 2024
5f9e3cb
chore: 파일 이름 변경
healim01 Mar 8, 2024
c2a5d91
chore: template 파일 이름 변경 후 import 수정
healim01 Mar 8, 2024
c630dfc
refactor: 랜더 핸들러 분리
healim01 Mar 8, 2024
e648d6a
chore: 사용하지 않는 선언 삭제
healim01 Mar 8, 2024
257e6c9
Merge branch 'brgndyy' into step1
brgndyy Mar 8, 2024
ff664d4
chore: package.json 불필요한 내용 삭제
brgndyy Mar 9, 2024
ab53547
refactor: 문자열 DOM요소 변환 유틸함수 DOMParser API 사용으로 변경
brgndyy Mar 9, 2024
7148cd8
refactor: eventHandler 파일명 수정 및 함수명 변경
brgndyy Mar 9, 2024
666d5d5
feat: 공용으로 사용할 Select 컴포넌트 생성
brgndyy Mar 9, 2024
8ff4874
style: prettier 룰 추가
brgndyy Mar 9, 2024
7dd164f
style: prettier 룰 적용
brgndyy Mar 9, 2024
e2e74df
feat: 받은 옵션을 통해 공용 Select 컴포넌트를 만들어주는 함수 생성
brgndyy Mar 9, 2024
62380bb
feat: 셀렉트 태그 관련 정보들 상수로 분리 후 바인딩
brgndyy Mar 9, 2024
54d38b8
refactor: 음식점 리스트 컴포넌트 초기화 함수 랩핑 삭제
brgndyy Mar 9, 2024
77d3769
refactor: 헤더 컴포넌트 이벤트 핸들러 관련 파일명 수정
brgndyy Mar 9, 2024
053bcff
refactor: eslint 룰 맞게 임포트 수정
brgndyy Mar 9, 2024
cb880af
refactor: 컴포넌트마다 렌더함수 삭제
brgndyy Mar 9, 2024
7abf0df
feat: 공용 버튼 컴포넌트 생성
brgndyy Mar 9, 2024
9edcdfb
feat: 버튼 관련 컴포넌트 데이터 생성 및 바인딩
brgndyy Mar 9, 2024
01c9bf8
feat: 공용 Label 컴포넌트 생성
brgndyy Mar 9, 2024
1f814f6
refactor: 컴포넌트 생성 유틸함수 파일명 변경
brgndyy Mar 9, 2024
2cab79f
refactor: 공용 컴포넌트 타입 파일 분리 및 적용
brgndyy Mar 9, 2024
795e0db
style: prettier 적용
brgndyy Mar 9, 2024
622d0f7
feat: 공용 Input 컴포넌트 생성 및 바인딩
brgndyy Mar 9, 2024
87aeedd
feat: 공용 Span 컴포넌트 생성
brgndyy Mar 9, 2024
b4a96cb
feat: 링크 컴포넌트 공용 컴포넌트로 바인딩
brgndyy Mar 9, 2024
3cb5969
refactor: 공용 span 컴포넌트 생성 유틸함수 임포트 순서 변경
brgndyy Mar 9, 2024
cc892d5
feat: 음식점 이름 입력 컴포넌트 공용 컴포넌트로 바인딩
brgndyy Mar 9, 2024
fe2f14f
refactor: 내부 변수명 변경
brgndyy Mar 9, 2024
96ac828
style: 기존 파일 prettier 적용
brgndyy Mar 9, 2024
487e037
refactor: Select 공용 컴포넌트 required 속성 받도록 수정
brgndyy Mar 9, 2024
87ebbda
feat: 모달 내 카테고리 셀렉트 공용 컴포넌트 바인딩
brgndyy Mar 9, 2024
c022dfd
feat: 음식점 카테고리 데이터 상수 분리
brgndyy Mar 9, 2024
01e31d6
refactor: 기존 handlers였던 파일명 eventHandlers로 변경
brgndyy Mar 9, 2024
692b4c1
style: 기존 헤더 템플릿 prettier 적용
brgndyy Mar 9, 2024
0d9e056
refactor: handlers 파일명 eventHandlers로 변경
brgndyy Mar 10, 2024
634a048
feat: 공용 TextArea 컴포넌트 생성 및 바인딩
brgndyy Mar 10, 2024
4dc4a55
refactor: 음식점 셀렉트 옵션 데이터 상수 분리
brgndyy Mar 10, 2024
b0544da
feat: 거리 선택 셀렉트 공용 컴포넌트로 바인딩
brgndyy Mar 10, 2024
9181559
refactor: 기존 handlers.ts eventHandlers.ts 로 파일명 변경
brgndyy Mar 10, 2024
b2765d6
feat: description 컴포넌트 공용 컴포넌트로 바인딩
brgndyy Mar 10, 2024
dafaf4c
refactor: eslint룰에 맞게 수정
brgndyy Mar 10, 2024
cd36d4e
refactor: 독립된 ui를 위해 컨테이너 클래스명 추가
brgndyy Mar 10, 2024
369131c
refactor: 컴포넌트 옵션 데이터들 폴더별로 분리
brgndyy Mar 10, 2024
68f9e32
refactor: Helper 클래스 폴더 분리
brgndyy Mar 10, 2024
0f99f65
refactor : isValid 프로퍼티 success 로 변경
brgndyy Mar 10, 2024
72e7148
refactor: 에러메세지 상수 분리
brgndyy Mar 10, 2024
64add5e
refactor: eslint 룰 맞게 수정
brgndyy Mar 10, 2024
f8c4bcf
refactor: 공용 컴포넌트 생성 Object.assign으로 변경
brgndyy Mar 11, 2024
18936fb
refactor: App 메인 컴포넌트에서 render 함수 삭제
brgndyy Mar 11, 2024
b31ff0b
refactor: 공용 TextArea 컴포넌트 수정
brgndyy Mar 11, 2024
164ada6
reafctor: 파일명 수정
brgndyy Mar 11, 2024
5eb7b2e
refactor: 컴포넌트 관련 데이터 폴더 위치 변경
brgndyy Mar 11, 2024
22a1d0b
refactor: 유틸함수 수정
brgndyy Mar 11, 2024
6487b05
refactor: 함수명 수정
brgndyy Mar 11, 2024
55d246b
refactor: 파일명 변경
brgndyy Mar 11, 2024
0ec7cca
feat: 공용 컨테이너, 리스트 컴포넌트 생성
brgndyy Mar 12, 2024
7e70210
feat: 공용 헤딩 컴포넌트 생성
brgndyy Mar 12, 2024
4557c52
feat: 공용 이미지 컴포넌트 생성
brgndyy Mar 12, 2024
b285a36
feat: 공용 P 컴포넌트 생성
brgndyy Mar 12, 2024
c2fb3f5
feat: RestaurantListItem 컴포넌트 생성 및 바인딩
brgndyy Mar 12, 2024
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
87 changes: 82 additions & 5 deletions .eslintrc.json
Original file line number Diff line number Diff line change
@@ -1,11 +1,88 @@
{
"rules": {},
"rules": {
"import/extensions": ["off"],
"no-await-in-loop": "off",
"no-constant-condition": "off",
"max-lines-per-function": ["error", 10],
"max-depth": ["error", 1],
"no-console": "off",
"class-methods-use-this": "off",
"spaced-comment": "off",
"lines-between-class-members": [
"error",
"always",
{ "exceptAfterSingleLine": true }
],
"sort-imports": [
"error",
{
"ignoreCase": true,
"ignoreDeclarationSort": true,
"ignoreMemberSort": false,
"allowSeparatedGroups": true
}
],
"import/order": [
"error",
{
"newlines-between": "always",
"groups": [
["builtin", "external"],
"internal",
"parent",
"sibling",
"index"
],
"pathGroups": [
{
"pattern": "next",
"group": "builtin"
},
{
"pattern": "react",
"group": "builtin"
},
{
"pattern": "@MyDesignSystem/**",
"group": "internal"
},
{
"pattern": "src/**",
"group": "internal"
}
],
"pathGroupsExcludedImportTypes": ["src/**", "@MyDesignSystem/**"],
"alphabetize": {
"order": "asc",
"caseInsensitive": true
}
}
]
},
"env": {
"es6": true,
"node": true
"node": true,
"jest": true
},
"parserOptions": {
"ecmaVersion": "latest"
"ecmaVersion": 2023,
"sourceType": "module"
},
"extends": ["eslint:recommended", "plugin:prettier/recommended"]
"parser": "@typescript-eslint/parser",
"plugins": ["@typescript-eslint"],
"extends": [
"airbnb",
"airbnb/hooks",
"prettier",
"eslint:recommended",
"plugin:@typescript-eslint/eslint-recommended",
"plugin:@typescript-eslint/recommended"
],
"settings": {
"import/parsers": {
"@typescript-eslint/parser": [".ts", ".tsx"]
},
"import/resolver": {
"typescript": {}
}
}
}
19 changes: 19 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,21 @@
# javascript-lunch

우아한테크코스 레벨1 점심 뭐 먹지 미션

### 1단계 - 기능 구현 목록

- [ ] 등록된 음식점 리스트를 확인할 수 있다.
- [ ] 음식점 리스트를 정렬 가능하다.
- [ ] 거리순
- [ ] 이름순
- [ ] 음식점을 카테고리로 필터링 할 수 있다.
- [ ] 새로운 음식점을 추가할 수 있다.
- [ ] 카테고리, 이름, 거리는 입력 필수
- [ ] 카테고리는 "한식", "중식", "일식", "아시안", "양식", "기타" 중 하나를 선택
- [ ] 거리는 캠퍼스로부터 도보로 걸리는 시간(분). 5, 10, 15, 20, 30 중 하나를 선택
- [ ] 설명, 참고 링크는 옵션
- [ ] 유효하지 않은 값 입력 시 텍스트 박스 하단에 에러 표시
- [ ] 새로고침해도 추가한 음식점 정보들이 유지해야한다.
- [ ] 기타 UX
- [ ] dimmer 클릭시 모달 닫힘
- [ ] 모바일 반응형으로 제작한다.
24 changes: 11 additions & 13 deletions index.html
Original file line number Diff line number Diff line change
@@ -1,15 +1,13 @@
<!DOCTYPE html>
<!doctype html>
<html lang="ko">

<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>점심 뭐 먹지</title>
</head>

<body>

</body>

<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>점심 뭐 먹지</title>
</head>

<body>
<script type="module" src="./src/index.js"></script>
</body>
</html>
Loading