diff --git a/README.md b/README.md index 52cde81..018aaca 100644 --- a/README.md +++ b/README.md @@ -1,18 +1,528 @@ -## πŸ“ ν”„λ‘œμ νŠΈ μ†Œκ°œ - -μ—¬μ •κ³΅μœ  μ—¬ν–‰ν”Œλž«νΌ - -## πŸ“– Commit convention - -- Feat : μƒˆλ‘œμš΄ κΈ°λŠ₯ μΆ”κ°€ -- Fix : 버그 μˆ˜μ • -- Env : 개발 ν™˜κ²½ κ΄€λ ¨ μ„€μ • -- Style : μ½”λ“œ μŠ€νƒ€μΌ μˆ˜μ • (μ„Έλ―Έ 콜둠, 인덴트 λ“±μ˜ μŠ€νƒ€μΌμ μΈ λΆ€λΆ„λ§Œ) -- Refactor : μ½”λ“œ λ¦¬νŒ©ν† λ§ (더 효율적인 μ½”λ“œλ‘œ λ³€κ²½ λ“±) -- Design : CSS λ“± λ””μžμΈ μΆ”κ°€/μˆ˜μ • -- Comment : 주석 μΆ”κ°€/μˆ˜μ • -- Docs : λ‚΄λΆ€ λ¬Έμ„œ μΆ”κ°€/μˆ˜μ • -- Test : ν…ŒμŠ€νŠΈ μΆ”κ°€/μˆ˜μ • -- Chore : λΉŒλ“œ κ΄€λ ¨ μ½”λ“œ μˆ˜μ • -- Rename : 파일 및 폴더λͺ… μˆ˜μ •. -- Remove : 파일 μ‚­μ œ. +## λͺ©μ°¨ + +1. [**ν”„λ‘œμ νŠΈ μ†Œκ°œ**](#1) +2. [**기술 μŠ€νƒ**](#2) +3. [**μ£Όμš” κΈ°λŠ₯**](#3) +4. [**μ•„ν‚€ν…μ²˜**](#4) +5. [**ꡬ글 μ• λ„λ¦¬ν‹±μŠ€ 톡계**](#5) +6. [**νŒ€ μ†Œκ°œ**](#6) +7. [**폴더 ꡬ쑰**](#7) + +
+ +## πŸ“Œ ν”„λ‘œμ νŠΈ μ†Œκ°œ + +![main](https://github.com/WePlanPlans/WPP_FE/assets/39702832/6b64523f-d3e9-4de2-b23b-a7bd35d0a4b8) + +- **μ†Œκ°œ** + + - μ‹€μ‹œκ°„ 곡동 νŽΈμ§‘μ΄ κ°€λŠ₯ν•œ μ—¬ν–‰/μ—¬μ • 곡유 ν”Œλž«νΌ, **WePlanPlans**
+ + - [**μ„œλΉ„μŠ€ λ°”λ‘œκ°€κΈ° Click !**](https://weplanplans.vercel.app/) πŸ‘ˆ + +- **κΉƒν—ˆλΈŒ 레포** + + - [FE Github](https://github.com/WePlanPlans/WPP_FE) + - [BE Github](https://github.com/WePlanPlans/WPP_BE) + +- **λ°œν‘œμžλ£Œ 및 μ˜μƒ** + - [**PPT λ°”λ‘œκ°€κΈ° Click !**](https://drive.google.com/file/d/1TAltN9sjEYGAnMgwpinyRyZKm0VBx_8M/view?usp=sharing) πŸ‘ˆ + +
+ +## πŸ“Œ 기술 μŠ€νƒ + +### Environment + +
+ + + + + + + +
+ +### FrontEnd + +
+ + + + + + + + +
+ +### Others + +
+ + + + + + +
+ +
+ +## πŸ“Œ μ£Όμš” κΈ°λŠ₯ + +![image](https://github.com/WePlanPlans/WPP_FE/assets/39702832/5f6b3d89-ab61-45b0-a9a0-f0721bfb3ccd) + +![image](https://github.com/WePlanPlans/WPP_FE/assets/39702832/aad26e8b-3067-4e1d-937e-7fff37dd02e8) + +![image](https://github.com/WePlanPlans/WPP_FE/assets/39702832/10c04611-b438-4b3e-a88e-e849717d445c) + +![image](https://github.com/WePlanPlans/WPP_FE/assets/39702832/1d731d19-c442-474f-9cca-bfc2355d943b) + +![image](https://github.com/WePlanPlans/WPP_FE/assets/39702832/f8768b1a-af74-466c-bca1-18e55aa1380e) + +![image](https://github.com/WePlanPlans/WPP_FE/assets/39702832/87cb7acc-081b-497b-8a97-128a110bff86) + +
+ +## πŸ“Œ μ•„ν‚€ν…μ²˜ + +![μ•„ν‚€ν…μ²˜](image-1.png) + +
+ +## πŸ“Œ ꡬ글 μ• λ„λ¦¬ν‹±μŠ€ 톡계 + +- μ‚¬μš©μž 속성 κ°œμš” + + ![image](https://github.com/WePlanPlans/WPP_FE/assets/39702832/1877f54a-b55e-4105-880d-c0c6461824ba) + + ![image](https://github.com/WePlanPlans/WPP_FE/assets/39702832/9edddb87-2767-44dc-a707-ce59cf66e6c1) + +- 기술 세뢀정보 + ![image](https://github.com/WePlanPlans/WPP_FE/assets/39702832/28569efe-b140-4a69-b150-97ae0c16e928) + +
+ +## πŸ“Œ νŒ€ μ†Œκ°œ + + + + + + + + + + + + + + + + + + + + +
+ + μ–΄μŠΉμ€€ ν”„λ‘œν•„ + + + + λ…Έμš±μ§„ ν”„λ‘œν•„ + + + + μ„œμ§€μˆ˜ ν”„λ‘œν•„ + + + + 심정아 ν”„λ‘œν•„ + + + + μ΄μ—°μˆ˜ ν”„λ‘œν•„ + + + + μž₯ν˜Έμ§„ ν”„λ‘œν•„ + +
+ + μ–΄μŠΉμ€€
+ νŒ€μž₯ (FE) +
+
+ + λ…Έμš±μ§„
+ νŒ€μ› (FE) +
+
+ + μ„œμ§€μˆ˜
+ νŒ€μ› (FE) +
+
+ + 심정아
+ νŒ€μ› (FE) +
+
+ + μ΄μ—°μˆ˜
+ νŒ€μ› (FE) +
+
+ + μž₯ν˜Έμ§„
+ νŒ€μ› (FE) +
+
+ +| 이름 | μ—­ν•  |
개발 λ‚΄μš©
| +| :----: | :----------: | :--------------------------------------------------------- | +| μ–΄μŠΉμ€€ | FE
νŒ€μž₯ | 리뷰/λŒ“κΈ€, λ‚˜μ˜ 리뷰, μ—¬ν–‰μ·¨ν–₯, 곡유 및 접속쀑 μœ μ € | +| λ…Έμš±μ§„ | FE
νŒ€μ› | λ‚˜μ˜ 관심λͺ©λ‘, μ—¬μ • μž₯μ†Œ 쑰회/μ‚­μ œ, 우리의 관심λͺ©λ‘ | +| μ„œμ§€μˆ˜ | FE
νŒ€μ› | 이메일/카카였 둜그인/νšŒμ›κ°€μž…, λ§ˆμ΄νŽ˜μ΄μ§€, μ—¬μ • κ³΅μœ νŽ˜μ΄μ§€ | +| μ΄μ—°μˆ˜ | FE
νŒ€μ› | 인기여행지, μ‹€μ‹œκ°„ μ—¬μ • 지도 및 κ²½λΉ„ νŽΈμ§‘ (μ†ŒμΌ“) | +| 심정아 | FE
νŒ€μ› | κ²€μƒ‰νŽ˜μ΄μ§€, 우리의 관심λͺ©λ‘, μ—¬μ • μž₯μ†Œ μΆ”κ°€ | +| μž₯ν˜Έμ§„ | FE
νŒ€μ› | λͺ¨ν‚Ήμ„œλ²„, μ‹€μ‹œκ°„ μ—¬μ • νŽΈμ§‘(μ†ŒμΌ“) | + +
+ +## πŸ“Œ 폴더 ꡬ쑰 + +
+폴더 ꡬ쑰 보기 + +``` +tenten-frontend + β”œβ”€ .env + β”œβ”€ .eslintrc.cjs + β”œβ”€ .prettierrc + β”œβ”€ custom.d.ts + β”œβ”€ image.png + β”œβ”€ index.html + β”œβ”€ package.json + β”œβ”€ pnpm-lock.yaml + β”œβ”€ postcss.config.js + β”œβ”€ public + β”‚ β”œβ”€ favicon.svg + β”‚ └─ vite.svg + β”œβ”€ README.md + β”œβ”€ src + β”‚ β”œβ”€ @types + β”‚ β”‚ β”œβ”€ auth.types.ts + β”‚ β”‚ β”œβ”€ detail.types.ts + β”‚ β”‚ β”œβ”€ member.types.ts + β”‚ β”‚ β”œβ”€ review.types.ts + β”‚ β”‚ β”œβ”€ service.ts + β”‚ β”‚ β”œβ”€ socket.types.ts + β”‚ β”‚ β”œβ”€ tours.types.ts + β”‚ β”‚ └─ trips.types.ts + β”‚ β”œβ”€ api + β”‚ β”‚ β”œβ”€ auth.ts + β”‚ β”‚ β”œβ”€ authClient.ts + β”‚ β”‚ β”œβ”€ category.ts + β”‚ β”‚ β”œβ”€ client.ts + β”‚ β”‚ β”œβ”€ comments.ts + β”‚ β”‚ β”œβ”€ member.ts + β”‚ β”‚ β”œβ”€ region.ts + β”‚ β”‚ β”œβ”€ review.ts + β”‚ β”‚ β”œβ”€ socket.ts + β”‚ β”‚ β”œβ”€ tours.ts + β”‚ β”‚ └─ trips.ts + β”‚ β”œβ”€ App.tsx + β”‚ β”œβ”€ assets + β”‚ β”‚ β”œβ”€ fonts + β”‚ β”‚ β”‚ └─ GmarketSansTTFLight.ttf + β”‚ β”‚ └─ images + β”‚ β”‚ β”œβ”€ CircleCheck.svg + β”‚ β”‚ β”œβ”€ DeleteInput.svg + β”‚ β”‚ β”œβ”€ NullUser.svg + β”‚ β”‚ β”œβ”€ react.svg + β”‚ β”‚ └─ Search.svg + β”‚ β”œβ”€ components + β”‚ β”‚ β”œβ”€ Auth + β”‚ β”‚ β”‚ β”œβ”€ AuthInput + β”‚ β”‚ β”‚ β”‚ └─ AuthInputBox + β”‚ β”‚ β”‚ β”‚ β”œβ”€ AuthCurrentPwInputBox.tsx + β”‚ β”‚ β”‚ β”‚ β”œβ”€ AuthEmailInputBox.tsx + β”‚ β”‚ β”‚ β”‚ β”œβ”€ AuthInputItem + β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ AuthInput.tsx + β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ AuthInputWrapper.tsx + β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ ErrorMessage.tsx + β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ index.ts + β”‚ β”‚ β”‚ β”‚ β”‚ └─ ValidifyCheck.tsx + β”‚ β”‚ β”‚ β”‚ β”œβ”€ AuthNicknameInputBox.tsx + β”‚ β”‚ β”‚ β”‚ β”œβ”€ AuthPwCheckInputBox.tsx + β”‚ β”‚ β”‚ β”‚ β”œβ”€ AuthPwInputBox.tsx + β”‚ β”‚ β”‚ β”‚ └─ index.ts + β”‚ β”‚ β”‚ β”œβ”€ AuthSurvey + β”‚ β”‚ β”‚ β”‚ β”œβ”€ AuthSurvey.tsx + β”‚ β”‚ β”‚ β”‚ └─ AuthSurveyOption.tsx + β”‚ β”‚ β”‚ β”œβ”€ AuthTitle.tsx + β”‚ β”‚ β”‚ β”œβ”€ index.ts + β”‚ β”‚ β”‚ β”œβ”€ Login + β”‚ β”‚ β”‚ β”‚ β”œβ”€ AuthButtons + β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ AuthButtonsWrapper.tsx + β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ KakaoLoginButton.tsx + β”‚ β”‚ β”‚ β”‚ β”‚ └─ SignupButton.tsx + β”‚ β”‚ β”‚ β”‚ β”œβ”€ index.ts + β”‚ β”‚ β”‚ β”‚ β”œβ”€ KakaoLogin.tsx + β”‚ β”‚ β”‚ β”‚ β”œβ”€ LoginForm.tsx + β”‚ β”‚ β”‚ β”‚ └─ LoginLogo.tsx + β”‚ β”‚ β”‚ └─ SignupInfo + β”‚ β”‚ β”‚ β”œβ”€ AuthDropDown + β”‚ β”‚ β”‚ β”‚ β”œβ”€ AuthDropDown.tsx + β”‚ β”‚ β”‚ β”‚ └─ AuthDropDownOption.tsx + β”‚ β”‚ β”‚ β”œβ”€ SignupInfoForm.tsx + β”‚ β”‚ β”‚ └─ UserInfoImg.tsx + β”‚ β”‚ β”œβ”€ common + β”‚ β”‚ β”‚ β”œβ”€ accordion + β”‚ β”‚ β”‚ β”‚ └─ Accordion.tsx + β”‚ β”‚ β”‚ β”œβ”€ alert + β”‚ β”‚ β”‚ β”‚ └─ Alert.tsx + β”‚ β”‚ β”‚ β”œβ”€ BackBox + β”‚ β”‚ β”‚ β”‚ └─ BackBox.tsx + β”‚ β”‚ β”‚ β”œβ”€ button + β”‚ β”‚ β”‚ β”‚ β”œβ”€ Button.tsx + β”‚ β”‚ β”‚ β”‚ β”œβ”€ ListSelectBtn.tsx + β”‚ β”‚ β”‚ β”‚ └─ SubmitBtn.tsx + β”‚ β”‚ β”‚ β”œβ”€ header + β”‚ β”‚ β”‚ β”‚ β”œβ”€ BackHeader.tsx + β”‚ β”‚ β”‚ β”‚ β”œβ”€ DetailHeader.tsx + β”‚ β”‚ β”‚ β”‚ β”œβ”€ Header.tsx + β”‚ β”‚ β”‚ β”‚ β”œβ”€ index.tsx + β”‚ β”‚ β”‚ β”‚ └─ ReviewHeader.tsx + β”‚ β”‚ β”‚ β”œβ”€ icons + β”‚ β”‚ β”‚ β”‚ └─ Icons.tsx + β”‚ β”‚ β”‚ β”œβ”€ index.ts + β”‚ β”‚ β”‚ β”œβ”€ like + β”‚ β”‚ β”‚ β”‚ └─ Like.tsx + β”‚ β”‚ β”‚ β”œβ”€ modal + β”‚ β”‚ β”‚ β”‚ β”œβ”€ children + β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ EditDelete.tsx + β”‚ β”‚ β”‚ β”‚ β”‚ β”œβ”€ MyAlert.tsx + β”‚ β”‚ β”‚ β”‚ β”‚ └─ TripSurveyMember.tsx + β”‚ β”‚ β”‚ β”‚ β”œβ”€ index.tsx + β”‚ β”‚ β”‚ β”‚ └─ Modal.tsx + β”‚ β”‚ β”‚ β”œβ”€ nav + β”‚ β”‚ β”‚ β”‚ β”œβ”€ index.tsx + β”‚ β”‚ β”‚ β”‚ β”œβ”€ InputComment.tsx + β”‚ β”‚ β”‚ β”‚ └─ Nav.tsx + β”‚ β”‚ β”‚ β”œβ”€ noData + β”‚ β”‚ β”‚ β”‚ └─ NoDataMessage.tsx + β”‚ β”‚ β”‚ β”œβ”€ scrollTopButton + β”‚ β”‚ β”‚ β”‚ └─ ScrollTopButton.tsx + β”‚ β”‚ β”‚ β”œβ”€ spinner + β”‚ β”‚ β”‚ β”‚ └─ Spinner.tsx + β”‚ β”‚ β”‚ β”œβ”€ tab + β”‚ β”‚ β”‚ β”‚ └─ Tab.tsx + β”‚ β”‚ β”‚ β”œβ”€ toastpopup + β”‚ β”‚ β”‚ β”‚ └─ ToastPopUp.tsx + β”‚ β”‚ β”‚ └─ toggleGroup + β”‚ β”‚ β”‚ └─ ToggleValue.tsx + β”‚ β”‚ β”œβ”€ createTrip + β”‚ β”‚ β”‚ β”œβ”€ InputField.tsx + β”‚ β”‚ β”‚ └─ SelectDate.tsx + β”‚ β”‚ β”œβ”€ DatePicker + β”‚ β”‚ β”‚ └─ Calendar.tsx + β”‚ β”‚ β”œβ”€ DetailSectionBottom + β”‚ β”‚ β”‚ β”œβ”€ DetailReviews.tsx + β”‚ β”‚ β”‚ β”œβ”€ DetailReviewStats.tsx + β”‚ β”‚ β”‚ β”œβ”€ DetailSectionBottom.tsx + β”‚ β”‚ β”‚ β”œβ”€ index.tsx + β”‚ β”‚ β”‚ └─ ReviewItem.tsx + β”‚ β”‚ β”œβ”€ DetailSectionTop + β”‚ β”‚ β”‚ β”œβ”€ DetailAddSchedule.tsx + β”‚ β”‚ β”‚ β”œβ”€ DetailSectionTop.tsx + β”‚ β”‚ β”‚ β”œβ”€ DetailTopButton.tsx + β”‚ β”‚ β”‚ β”œβ”€ DetailToursButtons.tsx + β”‚ β”‚ β”‚ β”œβ”€ DetailToursInfo.tsx + β”‚ β”‚ β”‚ β”œβ”€ DetailToursMap.tsx + β”‚ β”‚ β”‚ β”œβ”€ DetailToursRating.tsx + β”‚ β”‚ β”‚ └─ index.tsx + β”‚ β”‚ β”œβ”€ Mypage + β”‚ β”‚ β”‚ β”œβ”€ DeleteMemberButton.tsx + β”‚ β”‚ β”‚ β”œβ”€ EditPassword + β”‚ β”‚ β”‚ β”‚ └─ EditPwForm.tsx + β”‚ β”‚ β”‚ β”œβ”€ LogoutButton.tsx + β”‚ β”‚ β”‚ β”œβ”€ MypageInfo.tsx + β”‚ β”‚ β”‚ β”œβ”€ MypageItem.tsx + β”‚ β”‚ β”‚ β”œβ”€ MypageList.tsx + β”‚ β”‚ β”‚ └─ UserInfoForm.tsx + β”‚ β”‚ β”œβ”€ MyTrip + β”‚ β”‚ β”‚ β”œβ”€ CreateMyTripButton.tsx + β”‚ β”‚ β”‚ β”œβ”€ MyTrip.tsx + β”‚ β”‚ β”‚ β”œβ”€ MyTripAfterList.tsx + β”‚ β”‚ β”‚ β”œβ”€ MyTripBeforeList.tsx + β”‚ β”‚ β”‚ β”œβ”€ MyTripIngItem.tsx + β”‚ β”‚ β”‚ β”œβ”€ MyTripIngList.tsx + β”‚ β”‚ β”‚ └─ MyTripItem.tsx + β”‚ β”‚ β”œβ”€ Plan + β”‚ β”‚ β”‚ β”œβ”€ PlanEditItemBox.tsx + β”‚ β”‚ β”‚ β”œβ”€ PlanItem.tsx + β”‚ β”‚ β”‚ β”œβ”€ PlanItemBox.tsx + β”‚ β”‚ β”‚ β”œβ”€ PlanMoveItem.tsx + β”‚ β”‚ β”‚ β”œβ”€ PlanSchedule.tsx + β”‚ β”‚ β”‚ β”œβ”€ PlanSectionTop.tsx + β”‚ β”‚ β”‚ β”œβ”€ TripBudget.tsx + β”‚ β”‚ β”‚ └─ TripMap.tsx + β”‚ β”‚ β”œβ”€ Review + β”‚ β”‚ β”‚ β”œβ”€ CommentItem.tsx + β”‚ β”‚ β”‚ β”œβ”€ DetailReview.tsx + β”‚ β”‚ β”‚ β”œβ”€ index.tsx + β”‚ β”‚ β”‚ β”œβ”€ MyReview.tsx + β”‚ β”‚ β”‚ β”œβ”€ Review.tsx + β”‚ β”‚ β”‚ β”œβ”€ ReviewButton.tsx + β”‚ β”‚ β”‚ β”œβ”€ ReviewComments.tsx + β”‚ β”‚ β”‚ β”œβ”€ ReviewKeyword.tsx + β”‚ β”‚ β”‚ β”œβ”€ ReviewPosting.tsx + β”‚ β”‚ β”‚ └─ ReviewRating.tsx + β”‚ β”‚ β”œβ”€ search + β”‚ β”‚ β”‚ β”œβ”€ RegionSelect.tsx + β”‚ β”‚ β”‚ β”œβ”€ ResultCategory.tsx + β”‚ β”‚ β”‚ β”œβ”€ ResultItem.tsx + β”‚ β”‚ β”‚ β”œβ”€ SearchInput.tsx + β”‚ β”‚ β”‚ β”œβ”€ SearchRegion.tsx + β”‚ β”‚ β”‚ β”œβ”€ SearchResult.tsx + β”‚ β”‚ β”‚ └─ StartSearchBtn.tsx + β”‚ β”‚ β”œβ”€ Share + β”‚ β”‚ β”‚ β”œβ”€ CodeInput.tsx + β”‚ β”‚ β”‚ β”œβ”€ CopyBox.tsx + β”‚ β”‚ β”‚ β”œβ”€ CopyToast.tsx + β”‚ β”‚ β”‚ └─ IsEditableModal.tsx + β”‚ β”‚ β”œβ”€ Tours + β”‚ β”‚ β”‚ β”œβ”€ CreateTripButton.tsx + β”‚ β”‚ β”‚ β”œβ”€ ToursCategory.tsx + β”‚ β”‚ β”‚ β”œβ”€ ToursCategoryItem.tsx + β”‚ β”‚ β”‚ β”œβ”€ ToursCategoryItemSkeleton.tsx + β”‚ β”‚ β”‚ β”œβ”€ ToursItem.tsx + β”‚ β”‚ β”‚ β”œβ”€ ToursItemSkeleton.tsx + β”‚ β”‚ β”‚ β”œβ”€ ToursList.tsx + β”‚ β”‚ β”‚ └─ ToursSectionTop.tsx + β”‚ β”‚ β”œβ”€ Trip + β”‚ β”‚ β”‚ β”œβ”€ EditCodeModal.tsx + β”‚ β”‚ β”‚ β”œβ”€ LikedToursList.tsx + β”‚ β”‚ β”‚ β”œβ”€ LikedToursLists + β”‚ β”‚ β”‚ β”‚ β”œβ”€ LikedToursListBox.tsx + β”‚ β”‚ β”‚ β”‚ β”œβ”€ LikedToursListCategory.tsx + β”‚ β”‚ β”‚ β”‚ β”œβ”€ LikedToursListCategoryItem.tsx + β”‚ β”‚ β”‚ β”‚ └─ LikedToursListItem.tsx + β”‚ β”‚ β”‚ β”œβ”€ PlanTripButton.tsx + β”‚ β”‚ β”‚ β”œβ”€ TripInfo.tsx + β”‚ β”‚ β”‚ β”œβ”€ TripParticipant.tsx + β”‚ β”‚ β”‚ β”œβ”€ TripPreference.tsx + β”‚ β”‚ β”‚ β”œβ”€ TripRealtimeMember.tsx + β”‚ β”‚ β”‚ β”œβ”€ TripSchedule.tsx + β”‚ β”‚ β”‚ └─ TripSectionTop.tsx + β”‚ β”‚ └─ Wish + β”‚ β”‚ β”œβ”€ Wish.tsx + β”‚ β”‚ β”œβ”€ WishCategory.tsx + β”‚ β”‚ β”œβ”€ WishCategoryItem.tsx + β”‚ β”‚ β”œβ”€ WishItem.tsx + β”‚ β”‚ └─ WishList.tsx + β”‚ β”œβ”€ constants.ts + β”‚ β”œβ”€ index.css + β”‚ β”œβ”€ main.tsx + β”‚ β”œβ”€ pages + β”‚ β”‚ β”œβ”€ create + β”‚ β”‚ β”‚ └─ createTrip.page.tsx + β”‚ β”‚ β”œβ”€ detail + β”‚ β”‚ β”‚ └─ detail.page.tsx + β”‚ β”‚ β”œβ”€ login + β”‚ β”‚ β”‚ β”œβ”€ index.ts + β”‚ β”‚ β”‚ β”œβ”€ login.page.tsx + β”‚ β”‚ β”‚ └─ loginKakao.page.tsx + β”‚ β”‚ β”œβ”€ main + β”‚ β”‚ β”‚ └─ main.page.tsx + β”‚ β”‚ β”œβ”€ mypage + β”‚ β”‚ β”‚ β”œβ”€ editPassword.page.tsx + β”‚ β”‚ β”‚ β”œβ”€ editUserInfo.page.tsx + β”‚ β”‚ β”‚ β”œβ”€ editUserSurvey.page.tsx + β”‚ β”‚ β”‚ β”œβ”€ index.ts + β”‚ β”‚ β”‚ └─ mypage.page.tsx + β”‚ β”‚ β”œβ”€ myPageReview + β”‚ β”‚ β”‚ └─ myPageReview.page.tsx + β”‚ β”‚ β”œβ”€ myTrip + β”‚ β”‚ β”‚ └─ myTrip.page.tsx + β”‚ β”‚ β”œβ”€ plan + β”‚ β”‚ β”‚ β”œβ”€ addToOurPlace + β”‚ β”‚ β”‚ β”‚ β”œβ”€ AddtoListBtn.tsx + β”‚ β”‚ β”‚ β”‚ β”œβ”€ MyLiked.tsx + β”‚ β”‚ β”‚ β”‚ β”œβ”€ MyLikedList.tsx + β”‚ β”‚ β”‚ β”‚ β”œβ”€ MyLikedListItem.tsx + β”‚ β”‚ β”‚ β”‚ β”œβ”€ PlanAddPlace.page.tsx + β”‚ β”‚ β”‚ β”‚ β”œβ”€ ResultCategoryPlan.tsx + β”‚ β”‚ β”‚ β”‚ β”œβ”€ ResultItem.tsx + β”‚ β”‚ β”‚ β”‚ └─ SearchResult.tsx + β”‚ β”‚ β”‚ β”œβ”€ AddToTripPlan + β”‚ β”‚ β”‚ β”‚ β”œβ”€ OurLiked.tsx + β”‚ β”‚ β”‚ β”‚ β”œβ”€ OurLikedList.tsx + β”‚ β”‚ β”‚ β”‚ └─ OurLikedListItem.tsx + β”‚ β”‚ β”‚ β”œβ”€ planPlaceSearch.page.tsx + β”‚ β”‚ β”‚ └─ planTrip.page.tsx + β”‚ β”‚ β”œβ”€ reviewComment + β”‚ β”‚ β”‚ └─ reviewComment.page.tsx + β”‚ β”‚ β”œβ”€ reviewPosting + β”‚ β”‚ β”‚ └─ reviewPosting.page.tsx + β”‚ β”‚ β”œβ”€ search + β”‚ β”‚ β”‚ └─ search.page.tsx + β”‚ β”‚ β”œβ”€ share + β”‚ β”‚ β”‚ β”œβ”€ share.page.tsx + β”‚ β”‚ β”‚ └─ shareCode.page.tsx + β”‚ β”‚ β”œβ”€ signup + β”‚ β”‚ β”‚ β”œβ”€ index.ts + β”‚ β”‚ β”‚ β”œβ”€ signup.page.tsx + β”‚ β”‚ β”‚ β”œβ”€ signupInfo.page.tsx + β”‚ β”‚ β”‚ β”œβ”€ signupSuccess.page.tsx + β”‚ β”‚ β”‚ └─ signupSurvey.page.tsx + β”‚ β”‚ β”œβ”€ trip + β”‚ β”‚ β”‚ β”œβ”€ AddOurList.page.tsx + β”‚ β”‚ β”‚ β”œβ”€ trip.page.tsx + β”‚ β”‚ β”‚ └─ tripEdit.page.tsx + β”‚ β”‚ └─ wishList + β”‚ β”‚ └─ wishList.page.tsx + β”‚ β”œβ”€ recoil + β”‚ β”‚ β”œβ”€ Auth.atom.ts + β”‚ β”‚ β”œβ”€ listItem.ts + β”‚ β”‚ β”œβ”€ modal.ts + β”‚ β”‚ β”œβ”€ plan.ts + β”‚ β”‚ β”œβ”€ review.ts + β”‚ β”‚ β”œβ”€ socket.ts + β”‚ β”‚ β”œβ”€ trip.ts + β”‚ β”‚ └─ tripDate.ts + β”‚ β”œβ”€ router + β”‚ β”‚ β”œβ”€ mainRouter.tsx + β”‚ β”‚ β”œβ”€ routerLayout.tsx + β”‚ β”‚ β”œβ”€ ScrollToTop.ts + β”‚ β”‚ └─ socketRouter.tsx + β”‚ β”œβ”€ utils + β”‚ β”‚ β”œβ”€ authSelectOptions.ts + β”‚ β”‚ β”œβ”€ calculatePercentage.ts + β”‚ β”‚ β”œβ”€ calculateTripDuration.ts + β”‚ β”‚ β”œβ”€ formatDate.ts + β”‚ β”‚ β”œβ”€ getColor.ts + β”‚ β”‚ β”œβ”€ getStarFill.ts + β”‚ β”‚ β”œβ”€ getTripIdFromUrl.ts + β”‚ β”‚ β”œβ”€ localStorageFun.ts + β”‚ β”‚ β”œβ”€ survey.constants.ts + β”‚ β”‚ └─ utils.ts + β”‚ └─ vite-env.d.ts + β”œβ”€ svg.d.ts + β”œβ”€ tailwind.config.js + β”œβ”€ tsconfig.json + β”œβ”€ tsconfig.node.json + β”œβ”€ vercel.json + └─ vite.config.ts +``` + +
+ +--- + +### βœ… 개발 κΈ°κ°„ : `5μ£Ό - 23.12.26 ~ 24.01.29` diff --git a/image-1.png b/image-1.png new file mode 100644 index 0000000..7e1dbf6 Binary files /dev/null and b/image-1.png differ diff --git a/image-2.png b/image-2.png new file mode 100644 index 0000000..56dcb3f Binary files /dev/null and b/image-2.png differ diff --git a/image.png b/image.png new file mode 100644 index 0000000..1638b35 Binary files /dev/null and b/image.png differ