개인 지출 관리 애플리케이션
- RTK / Tanstack-Query
- react-router-dom
- axios
- json-server
- styled-components
📦src
┣ 📂api
┃ ┣ 📜api.js
┃ ┣ 📜auth.api.js
┃ ┗ 📜payments.api.js
┣ 📂components
┃ ┣ 📂Calendar
┃ ┃ ┣ 📜Calendar.jsx
┃ ┃ ┣ 📜Calendar.styled.jsx
┃ ┃ ┗ 📜index.js
┃ ┣ 📂Form
┃ ┃ ┣ 📜Form.jsx
┃ ┃ ┣ 📜Form.styled.jsx
┃ ┃ ┗ 📜index.js
┃ ┣ 📂GlobalStyle
┃ ┃ ┣ 📜GlobalStyle.jsx
┃ ┃ ┗ 📜index.js
┃ ┣ 📂Header
┃ ┃ ┣ 📜Header.jsx
┃ ┃ ┗ 📜Header.styled.jsx
┃ ┣ 📂PaymentCard
┃ ┃ ┣ 📜PaymentCard.jsx
┃ ┃ ┣ 📜PaymentCard.styled.jsx
┃ ┃ ┗ 📜index.js
┃ ┣ 📂PaymentList
┃ ┃ ┣ 📜PaymentList.jsx
┃ ┃ ┣ 📜PaymentList.styled.jsx
┃ ┃ ┗ 📜index.js
┃ ┗ 📂common
┃ ┃ ┣ 📜Button.jsx
┃ ┃ ┣ 📜ControlledInput.jsx
┃ ┃ ┣ 📜Input.jsx
┃ ┃ ┗ 📜common.styled.jsx
┣ 📂context
┃ ┣ 📜MonthContext.jsx
┃ ┗ 📜PaymentContext.jsx
┣ 📂hooks
┃ ┗ 📜useInput.jsx
┣ 📂layout
┃ ┣ 📂AuthLayout
┃ ┃ ┣ 📜AuthLayout.jsx
┃ ┃ ┗ 📜index.js
┃ ┣ 📂DefaultLayout
┃ ┃ ┣ 📜DefaultLayout.jsx
┃ ┃ ┗ 📜index.js
┃ ┣ 📂MainLayout
┃ ┃ ┣ 📜MainLayout.jsx
┃ ┃ ┗ 📜index.js
┃ ┗ 📜Layout.styled.jsx
┣ 📂pages
┃ ┣ 📂HomePage
┃ ┃ ┣ 📜HomePage.jsx
┃ ┃ ┣ 📜HomePage.loader.js
┃ ┃ ┣ 📜HomePage.styled.jsx
┃ ┃ ┗ 📜index.js
┃ ┣ 📂LoginPage
┃ ┃ ┗ 📜LoginPage.jsx
┃ ┣ 📂MyPage
┃ ┃ ┣ 📜MyPage.jsx
┃ ┃ ┗ 📜index.js
┃ ┣ 📂PaymentDetailPage
┃ ┃ ┣ 📜PaymentDetailPage.jsx
┃ ┃ ┣ 📜PaymentDetailPage.styled.jsx
┃ ┃ ┗ 📜index.js
┃ ┗ 📂SignUpPage
┃ ┃ ┗ 📜SignUpPage.jsx
┣ 📂query
┃ ┗ 📜QueryProvider.jsx
┣ 📂redux
┃ ┣ 📂reducers
┃ ┃ ┗ 📂slices
┃ ┃ ┃ ┣ 📜auth.slice.js
┃ ┃ ┃ ┗ 📜payment.slice.js
┃ ┗ 📜store.js
┣ 📂routes
┃ ┣ 📜ProtectedRoute.jsx
┃ ┣ 📜PublicRoute.jsx
┃ ┗ 📜router.jsx
┣ 📂utils
┃ ┗ 📜formValidation.js
┣ 📜App.jsx
┗ 📜main.jsx