Skip to content

architecture

dodaaaaam edited this page Jun 10, 2025 · 1 revision

πŸ—οΈ ν”„λ‘œμ νŠΈ ꡬ쑰 및 개발 흐름

πŸ“ ν”„λ‘œμ νŠΈ ꡬ쑰 μ„€λͺ…

src/
β”œβ”€β”€ assets/
β”œβ”€β”€ components/
β”‚   β”œβ”€β”€ common/
β”‚   β”œβ”€β”€ diary/
β”‚   β”œβ”€β”€ home/
β”‚   β”œβ”€β”€ login/
β”œβ”€β”€ pages/
β”‚   β”œβ”€β”€ chatting/
β”‚   β”œβ”€β”€ collection/
β”‚   β”œβ”€β”€ writing/
β”œβ”€β”€ services/
β”‚   β”œβ”€β”€ apis/
β”‚   β”œβ”€β”€ gpt/
β”‚   β”œβ”€β”€ zustand/
β”œβ”€β”€ App.tsx / main.tsx
└── styles/

public/
└── images/

πŸ“¦ μ£Όμš” 라이브러리 λͺ©λ‘

μ’…λ₯˜ 라이브러리
UI React 19, styled-components
λΌμš°νŒ… react-router-dom v7
μƒνƒœκ΄€λ¦¬ Zustand
톡신 axios
μ• λ‹ˆλ©”μ΄μ…˜ react-mobile-picker
μ•„μ΄μ½˜ react-icons
λ²ˆλ“€λŸ¬ Vite + SWC

πŸ”Œ API 톡신 κ·œμΉ™

  • axios μΈμŠ€ν„΄μŠ€ 뢄리
    • /services/apis/axiosInstance.ts
    • /services/apis/axiosInstanceWithToken.ts
  • 호좜 μ˜ˆμ‹œ
    import axios from './axiosInstance';
    
    export const fetchDiaries = async () => {
      const res = await axios.get('/diary');
      return res.data;
    };
  • 응닡 처리
    • try-catch λ˜λŠ” 인터셉터 μ‚¬μš©