/6che

Primary LanguageTypeScript

아이콘

⛅ 프로젝트 소개 ⛅

날씨에 맞는 옷 추천을 하고, 온도에 맞는 옷을 추천하는 서비스입니다.

👥 팀원소개

주현우 전은겸 김성구 석재영 한소영
리더 부리더 팀원 팀원 팀원
HyunwooJu eunkyum Kimsounggu Wodud5683 fjw1010
메인 페이지
게시글 작성 페이지
아이디 찾기
비밀번호 찾기
비밀번호 재설정
게시글 작성 페이지
게시글 수정 페이지
코디 페이지
코디 상세 페이지
좋아요한 코디
내 코디
취향 코디 페이지
소셜 로그인
기온 별 옷차림
이메일 로그인
회원가입
회원 탈퇴
프로필/닉네임 변경

📖 주요 기능

로그인 / 회원가입

image (5) image (6)

메인페이지, 현위치 온도 및 날씨 요소

image (8)

설문 페이지

image (9)

코디 게시글

image (10)

기온 별 온차림

image (12) image (11)

📌 서비스 아키텍처

KakaoTalk_20240821_000221745 1

📌 ERD

스크린샷 2024-08-21 050651

🛠️ Stacks

✔️ Packages Manager

✔️ Language & Framework

✔️ State management

✔️ Design System & Style

✔️ Database

✔️ Api

☀️accuweather

✔️ Deployment

✔️ Communication

📁 프로젝트 구조

📁 프로젝트 구조

📦src
 ┣ 📂app
 ┃ ┣ 📂(providers)
 ┃ ┃ ┣ 📂(components)
 ┃ ┃ ┃ ┣ 📜Footer.tsx
 ┃ ┃ ┃ ┣ 📜Header.tsx
 ┃ ┃ ┃ ┗ 📜LoadingScreen.tsx
 ┃ ┃ ┣ 📂(root)
 ┃ ┃ ┃ ┣ 📂(auth)
 ┃ ┃ ┃ ┃ ┣ 📂email-confirmation
 ┃ ┃ ┃ ┃ ┃ ┣ 📂_components
 ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜EmailConfirm.tsx
 ┃ ┃ ┃ ┃ ┃ ┗ 📜page.tsx
 ┃ ┃ ┃ ┃ ┣ 📂find-id
 ┃ ┃ ┃ ┃ ┃ ┣ 📂_components
 ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜FindIdForm.tsx
 ┃ ┃ ┃ ┃ ┃ ┗ 📜page.tsx
 ┃ ┃ ┃ ┃ ┣ 📂find-pw
 ┃ ┃ ┃ ┃ ┃ ┣ 📂_components
 ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜FindPwForm.tsx
 ┃ ┃ ┃ ┃ ┃ ┗ 📜page.tsx
 ┃ ┃ ┃ ┃ ┣ 📂login
 ┃ ┃ ┃ ┃ ┃ ┣ 📂_components
 ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜LoginForm.tsx
 ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜LoginPopup.tsx
 ┃ ┃ ┃ ┃ ┃ ┗ 📜page.tsx
 ┃ ┃ ┃ ┃ ┣ 📂reset-pw
 ┃ ┃ ┃ ┃ ┃ ┣ 📂_components
 ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜ResetPasswordForm.tsx
 ┃ ┃ ┃ ┃ ┃ ┗ 📜page.tsx
 ┃ ┃ ┃ ┃ ┣ 📂signup
 ┃ ┃ ┃ ┃ ┃ ┣ 📂_components
 ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜SignUp.tsx
 ┃ ┃ ┃ ┃ ┃ ┗ 📜page.tsx
 ┃ ┃ ┃ ┃ ┗ 📂signUpDone
 ┃ ┃ ┃ ┃ ┃ ┣ 📂_components
 ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜BottomSheet.tsx
 ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜ProfileSelect.tsx
 ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜SingUpDone.tsx
 ┃ ┃ ┃ ┃ ┃ ┗ 📜page.tsx
 ┃ ┃ ┃ ┣ 📂(mypage)
 ┃ ┃ ┃ ┃ ┣ 📂mypage
 ┃ ┃ ┃ ┃ ┃ ┣ 📂_components
 ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜MyPageContent.tsx
 ┃ ┃ ┃ ┃ ┃ ┗ 📜page.tsx
 ┃ ┃ ┃ ┃ ┣ 📂myStyle
 ┃ ┃ ┃ ┃ ┃ ┣ 📂_components
 ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜MyNotStyleHeader.tsx
 ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜MyStyleFilter.tsx
 ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜MyStyleHeader.tsx
 ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜MyStyleLikeButton.tsx
 ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜MyStyleList.tsx
 ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜MyStylePostItem.tsx
 ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜MyStyleSelet.tsx
 ┃ ┃ ┃ ┃ ┃ ┗ 📜page.tsx
 ┃ ┃ ┃ ┃ ┣ 📂postLike
 ┃ ┃ ┃ ┃ ┃ ┣ 📂_components
 ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜MyLikeButton.tsx
 ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜MyLikeFilter.tsx
 ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜MyLikeHeader.tsx
 ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜MyListPage.tsx
 ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜MyListPostItem.tsx
 ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜MyNotLikeHeader.tsx
 ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜MyPageHeader.tsx
 ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜MySelectPage.tsx
 ┃ ┃ ┃ ┃ ┃ ┗ 📜page.tsx
 ┃ ┃ ┃ ┃ ┗ 📂profile
 ┃ ┃ ┃ ┃ ┃ ┣ 📂_components
 ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜ProfileForm.tsx
 ┃ ┃ ┃ ┃ ┃ ┗ 📜page.tsx
 ┃ ┃ ┃ ┣ 📂(post)
 ┃ ┃ ┃ ┃ ┣ 📂detail
 ┃ ┃ ┃ ┃ ┃ ┣ 📂[id]
 ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜page.tsx
 ┃ ┃ ┃ ┃ ┃ ┗ 📂_components
 ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📂icons
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜DetailLiveLIkeIcon.tsx
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜DetailNicknameIcon.tsx
 ┃ ┃ ┃ ┃ ┗ 📂list
 ┃ ┃ ┃ ┃ ┃ ┣ 📂_components
 ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📂icons
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜LikeIcon.tsx
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜ListIcon.tsx
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜ListLiveLikedIcon.tsx
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜ListNicknameIcon.tsx
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜ListWeatherIcon.tsx
 ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜NotLikeIcon.tsx
 ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜LikeButton.tsx
 ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜ListHeader.tsx
 ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜ListSelect.tsx
 ┃ ┃ ┃ ┃ ┃ ┃ ┣ 📜PostItem.tsx
 ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜ScrollButtons.tsx
 ┃ ┃ ┃ ┃ ┃ ┗ 📜page.tsx
 ┃ ┃ ┃ ┣ 📂(surveypage)
 ┃ ┃ ┃ ┃ ┗ 📂survey
 ┃ ┃ ┃ ┃ ┃ ┣ 📂result
 ┃ ┃ ┃ ┃ ┃ ┃ ┗ 📜page.tsx
 ┃ ┃ ┃ ┃ ┃ ┣ 📜page.tsx
 ┃ ┃ ┃ ┃ ┃ ┣ 📜question.tsx
 ┃ ┃ ┃ ┃ ┃ ┗ 📜surveyinitial.tsx
 ┃ ┃ ┃ ┣ 📂common
 ┃ ┃ ┃ ┃ ┣ 📜KakaoScript.tsx
 ┃ ┃ ┃ ┃ ┗ 📜Weather.tsx
 ┃ ┃ ┃ ┣ 📂mainpage
 ┃ ┃ ┃ ┃ ┣ 📂components
 ┃ ┃ ┃ ┃ ┃ ┣ 📜BottomSheet.tsx
 ┃ ┃ ┃ ┃ ┃ ┗ 📜LocationInput.tsx
 ┃ ┃ ┃ ┃ ┗ 📜page.tsx
 ┃ ┃ ┃ ┣ 📂postform
 ┃ ┃ ┃ ┃ ┣ 📂components
 ┃ ┃ ┃ ┃ ┃ ┗ 📜WeatherDropdown.tsx
 ┃ ┃ ┃ ┃ ┣ 📜page.tsx
 ┃ ┃ ┃ ┃ ┗ 📜PostForm.tsx
 ┃ ┃ ┃ ┗ 📂thermometer-style
 ┃ ┃ ┃ ┃ ┣ 📜page.tsx
 ┃ ┃ ┃ ┃ ┗ 📜ThermometerStyle.tsx
 ┃ ┃ ┗ 📂lib
 ┃ ┃ ┃ ┗ 📜action.ts
 ┃ ┣ 📂api
 ┃ ┃ ┣ 📂auth
 ┃ ┃ ┃ ┣ 📂deletesUserId
 ┃ ┃ ┃ ┃ ┗ 📜route.ts
 ┃ ┃ ┃ ┣ 📂email
 ┃ ┃ ┃ ┃ ┣ 📂login
 ┃ ┃ ┃ ┃ ┃ ┗ 📜route.ts
 ┃ ┃ ┃ ┃ ┣ 📂logout
 ┃ ┃ ┃ ┃ ┃ ┗ 📜route.ts
 ┃ ┃ ┃ ┃ ┗ 📂sign-up
 ┃ ┃ ┃ ┃ ┃ ┗ 📜route.ts
 ┃ ┃ ┃ ┣ 📂find-email
 ┃ ┃ ┃ ┃ ┗ 📜route.ts
 ┃ ┃ ┃ ┣ 📂social
 ┃ ┃ ┃ ┃ ┗ 📂callback
 ┃ ┃ ┃ ┃ ┃ ┗ 📜route.ts
 ┃ ┃ ┃ ┗ 📂user
 ┃ ┃ ┃ ┃ ┗ 📜route.ts
 ┃ ┃ ┗ 📂weather
 ┃ ┃ ┃ ┣ 📜route.ts
 ┃ ┃ ┃ ┣ 📜types.ts
 ┃ ┃ ┃ ┗ 📜weatherAPI.tsx
 ┃ ┣ 📜globals.css
 ┃ ┗ 📜layout.tsx
 ┣ 📂assets
 ┃ ┗ 📂lottie
 ┃ ┃ ┗ 📜animation.json
 ┣ 📂components
 ┃ ┣ 📂DeleteUser
 ┃ ┃ ┗ 📜DeleteUser.tsx
 ┃ ┣ 📂LoginDropdown
 ┃ ┃ ┗ 📜LoginDropdown.tsx
 ┃ ┣ 📂LogoutButton
 ┃ ┃ ┗ 📜LogoutButton.tsx
 ┃ ┣ 📂Modal
 ┃ ┃ ┣ 📜DeletesUserIdModal.tsx
 ┃ ┃ ┗ 📜LoginModal.tsx
 ┃ ┗ 📂pages
 ┃ ┃ ┣ 📜index.ts
 ┃ ┃ ┗ 📜page.tsx
 ┣ 📂font
 ┣ 📂hooks
 ┃ ┣ 📜useSignUpForm.ts
 ┃ ┗ 📜useWeather.ts
 ┣ 📂icons
 ┃ ┣ 📂Eight
 ┃ ┃ ┣ 📜Eight.tsx
 ┃ ┃ ┗ 📜index.ts
 ┃ ┣ 📂Eleven
 ┃ ┃ ┣ 📜Eleven.tsx
 ┃ ┃ ┗ 📜index.ts
 ┃ ┣ 📂Five
 ┃ ┃ ┣ 📜Five.tsx
 ┃ ┃ ┗ 📜index.ts
 ┃ ┣ 📂Four
 ┃ ┃ ┣ 📜Four.tsx
 ┃ ┃ ┗ 📜index.ts
 ┃ ┣ 📂Icon
 ┃ ┃ ┣ 📜Icon.tsx
 ┃ ┃ ┗ 📜index.ts
 ┃ ┣ 📂IconArrowDown2
 ┃ ┃ ┣ 📜IconArrowDown2.tsx
 ┃ ┃ ┗ 📜index.ts
 ┃ ┣ 📂IconArrowLeft6
 ┃ ┃ ┣ 📜IconArrowLeft6.tsx
 ┃ ┃ ┗ 📜index.ts
 ┃ ┣ 📂IconArrowRight1
 ┃ ┃ ┣ 📜IconArrowRight1.tsx
 ┃ ┃ ┗ 📜index.ts
 ┃ ┣ 📂IconArrowUp
 ┃ ┃ ┣ 📜IconArrowUp.tsx
 ┃ ┃ ┗ 📜index.ts
 ┃ ┣ 📂IconHeart
 ┃ ┃ ┣ 📜IconHeart.tsx
 ┃ ┃ ┗ 📜index.ts
 ┃ ┣ 📂IconHeart1
 ┃ ┃ ┣ 📜IconHeart1.tsx
 ┃ ┃ ┗ 📜index.ts
 ┃ ┣ 📂IconHeart2
 ┃ ┃ ┣ 📜IconHeart2.tsx
 ┃ ┃ ┗ 📜index.ts
 ┃ ┣ 📂IconHeart3
 ┃ ┃ ┣ 📜IconHeart3.tsx
 ┃ ┃ ┗ 📜index.ts
 ┃ ┣ 📂IconLocation
 ┃ ┃ ┣ 📜IconLocation.tsx
 ┃ ┃ ┗ 📜index.ts
 ┃ ┣ 📂IconLocation1
 ┃ ┃ ┣ 📜IconLocation1.tsx
 ┃ ┃ ┗ 📜index.ts
 ┃ ┣ 📂IconLogin
 ┃ ┃ ┣ 📜IconLogin.tsx
 ┃ ┃ ┣ 📜index.ts
 ┃ ┃ ┗ 📜login.svg
 ┃ ┣ 📂IconLogin1
 ┃ ┃ ┣ 📜IconLogin1.tsx
 ┃ ┃ ┗ 📜index.ts
 ┃ ┣ 📂IconNone25
 ┃ ┃ ┣ 📜IconNone25.tsx
 ┃ ┃ ┗ 📜index.ts
 ┃ ┣ 📂IconNone30
 ┃ ┃ ┣ 📜IconNone30.tsx
 ┃ ┃ ┗ 📜index.ts
 ┃ ┣ 📂IconPlus
 ┃ ┃ ┣ 📜IconPlus.tsx
 ┃ ┃ ┗ 📜index.ts
 ┃ ┣ 📂IconSearch
 ┃ ┃ ┣ 📜IconSearch.tsx
 ┃ ┃ ┗ 📜index.ts
 ┃ ┣ 📂IconWeatherBlur
 ┃ ┃ ┣ 📜IconWeatherBlur.tsx
 ┃ ┃ ┗ 📜index.ts
 ┃ ┣ 📂IconWeatherBlur1
 ┃ ┃ ┣ 📜IconWeatherBlur1.tsx
 ┃ ┃ ┗ 📜index.ts
 ┃ ┣ 📂IconWeatherBlur14
 ┃ ┃ ┣ 📜IconWeatherBlur14.tsx
 ┃ ┃ ┗ 📜index.ts
 ┃ ┣ 📂IconWeatherBlur15
 ┃ ┃ ┣ 📜IconWeatherBlur15.tsx
 ┃ ┃ ┗ 📜index.ts
 ┃ ┣ 📂IconWeatherBlur16
 ┃ ┃ ┣ 📜IconWeatherBlur16.tsx
 ┃ ┃ ┗ 📜index.ts
 ┃ ┣ 📂IconWeatherBlur17
 ┃ ┃ ┣ 📜IconWeatherBlur17.tsx
 ┃ ┃ ┗ 📜index.ts
 ┃ ┣ 📂IconWeatherBlur18
 ┃ ┃ ┣ 📜IconWeatherBlur18.tsx
 ┃ ┃ ┗ 📜index.ts
 ┃ ┣ 📂IconWeatherBlur19
 ┃ ┃ ┣ 📜IconWeatherBlur19.tsx
 ┃ ┃ ┗ 📜index.ts
 ┃ ┣ 📂IconWeatherBlur2
 ┃ ┃ ┣ 📜IconWeatherBlur2.tsx
 ┃ ┃ ┗ 📜index.ts
 ┃ ┣ 📂IconWeatherBlur20
 ┃ ┃ ┣ 📜IconWeatherBlur20.tsx
 ┃ ┃ ┗ 📜index.ts
 ┃ ┣ 📂IconWeatherBlur21
 ┃ ┃ ┣ 📜IconWeatherBlur21.tsx
 ┃ ┃ ┗ 📜index.ts
 ┃ ┣ 📂IconWeatherBlur3
 ┃ ┃ ┣ 📜IconWeatherBlur3.tsx
 ┃ ┃ ┗ 📜index.ts
 ┃ ┣ 📂IconWeatherBlur4
 ┃ ┃ ┣ 📜IconWeatherBlur4.tsx
 ┃ ┃ ┗ 📜index.ts
 ┃ ┣ 📂IconWeatherBlur5
 ┃ ┃ ┣ 📜IconWeatherBlur5.tsx
 ┃ ┃ ┗ 📜index.ts
 ┃ ┣ 📂IconWeatherBlur6
 ┃ ┃ ┣ 📜IconWeatherBlur6.tsx
 ┃ ┃ ┗ 📜index.ts
 ┃ ┣ 📂IconWeatherDrizzlingNight
 ┃ ┃ ┣ 📜IconWeatherDrizzlingNight.tsx
 ┃ ┃ ┗ 📜index.ts
 ┃ ┣ 📂IconWeatherDrizzlingNight1
 ┃ ┃ ┣ 📜IconWeatherDrizzlingNight1.tsx
 ┃ ┃ ┗ 📜index.ts
 ┃ ┣ 📂IconWeatherDrizzlingNight14
 ┃ ┃ ┣ 📜IconWeatherDrizzlingNight14.tsx
 ┃ ┃ ┗ 📜index.ts
 ┃ ┣ 📂IconWeatherDrizzlingNight2
 ┃ ┃ ┣ 📜IconWeatherDrizzlingNight2.tsx
 ┃ ┃ ┗ 📜index.ts
 ┃ ┣ 📂IconWeatherDrizzlingNight3
 ┃ ┃ ┣ 📜IconWeatherDrizzlingNight3.tsx
 ┃ ┃ ┗ 📜index.ts
 ┃ ┣ 📂IconWeatherDrizzlingNight4
 ┃ ┃ ┣ 📜IconWeatherDrizzlingNight4.tsx
 ┃ ┃ ┗ 📜index.ts
 ┃ ┣ 📂IconWeatherDrizzlingNight5
 ┃ ┃ ┣ 📜IconWeatherDrizzlingNight5.tsx
 ┃ ┃ ┗ 📜index.ts
 ┃ ┣ 📂IconWeatherDrizzlingNight6
 ┃ ┃ ┣ 📜IconWeatherDrizzlingNight6.tsx
 ┃ ┃ ┗ 📜index.ts
 ┃ ┣ 📂IconWeatherThunderstorm
 ┃ ┃ ┣ 📜IconWeatherThunderstorm.tsx
 ┃ ┃ ┗ 📜index.ts
 ┃ ┣ 📂IconWeatherThunderstorm1
 ┃ ┃ ┣ 📜IconWeatherThunderstorm1.tsx
 ┃ ┃ ┗ 📜index.ts
 ┃ ┣ 📂IconWeatherThunderstorm2
 ┃ ┃ ┣ 📜IconWeatherThunderstorm2.tsx
 ┃ ┃ ┗ 📜index.ts
 ┃ ┣ 📂LogoText
 ┃ ┃ ┣ 📜bar.svg
 ┃ ┃ ┣ 📜index.ts
 ┃ ┃ ┗ 📜LogoText.tsx
 ┃ ┣ 📂LogoText2
 ┃ ┃ ┣ 📜index.ts
 ┃ ┃ ┗ 📜LogoText2.tsx
 ┃ ┣ 📂Nine
 ┃ ┃ ┣ 📜index.ts
 ┃ ┃ ┗ 📜Nine.tsx
 ┃ ┣ 📂One
 ┃ ┃ ┣ 📜index.ts
 ┃ ┃ ┗ 📜One.tsx
 ┃ ┣ 📂Seven
 ┃ ┃ ┣ 📜index.ts
 ┃ ┃ ┗ 📜Seven.tsx
 ┃ ┣ 📂Six
 ┃ ┃ ┣ 📜index.ts
 ┃ ┃ ┗ 📜Six.tsx
 ┃ ┣ 📂StateDefault
 ┃ ┃ ┣ 📜index.ts
 ┃ ┃ ┗ 📜StateDefault.tsx
 ┃ ┣ 📂StateFill
 ┃ ┃ ┣ 📜index.ts
 ┃ ┃ ┗ 📜StateFill.tsx
 ┃ ┣ 📂Ten
 ┃ ┃ ┣ 📜index.ts
 ┃ ┃ ┗ 📜Ten.tsx
 ┃ ┣ 📂Three
 ┃ ┃ ┣ 📜index.ts
 ┃ ┃ ┗ 📜Three.tsx
 ┃ ┣ 📂Two
 ┃ ┃ ┣ 📜index.ts
 ┃ ┃ ┗ 📜Two.tsx
 ┃ ┣ 📂WeatherPieceCloud
 ┃ ┃ ┣ 📜index.ts
 ┃ ┃ ┗ 📜WeatherPieceCloud.tsx
 ┃ ┗ 📂WeatherPieceCloud1
 ┃ ┃ ┣ 📜index.ts
 ┃ ┃ ┗ 📜WeatherPieceCloud1.tsx
 ┣ 📂pages
 ┃ ┗ 📜index.tsx
 ┣ 📂services
 ┃ ┗ 📂comment
 ┃ ┃ ┗ 📜comment.ts
 ┣ 📂supabase
 ┃ ┣ 📜client.ts
 ┃ ┣ 📜middleware.ts
 ┃ ┗ 📜server.ts
 ┣ 📂utils
 ┃ ┣ 📜emailDomains.ts
 ┃ ┣ 📜questions.ts
 ┃ ┣ 📜userUtils.ts
 ┃ ┗ 📜verification.ts
 ┣ 📂zustand
 ┃ ┗ 📂store
 ┃ ┃ ┣ 📜useTagStore.ts
 ┃ ┃ ┗ 📜useUserStore.ts
 ┗ 📜middleware.ts

🔗 링크