TEAM DOIT
κΉμν νλ‘ νΈμλ κ°λ°μ λ¨μ²΄ DOIT μ λλ€.
![]() | ![]() | ![]() | |
πμ΅μΉμπ | μ€μμ | νμ€κΈ° | κΉμ λͺ© |
λ²κ°ν
μ λꡬλ λΉ λ₯΄κ³ κ°νΈνκ² λͺ¨μμ μμ±νκ³ μ°Έμ¬ν μ μλ λ²κ° λͺ¨μ νλ«νΌμ
λλ€
μ€μ μ°Έμ¬μλ€μ μ λ’°λ λμ νκΈ°λ₯Ό ν΅ν΄ μμ¬νκ³ λ§λ¨μ κ°μ§ μ μμΌλ©°, μ€μκ° μ±ν
κΈ°λ₯μΌλ‘ μνν μν΅μ΄ κ°λ₯ν©λλ€.
μλ‘μ΄ μ¬λλ€κ³Ό μλ€λ₯Έ κ²½νμ ν΄λ³΄κ³ μΆμ λ, λ²κ°ν
κ³Ό ν¨κ»ν΄λ³΄μΈμ!
- μ¬μ©μλ€μ΄ λΉ λ₯΄κ² μνλ λͺ¨μμ μ°Ύκ³ μ°Έμ¬ν μ μλλ‘ μ§κ΄μ μΈ UI μ 곡
- μ€μκ° μ±ν
μ ν΅ν΄ μνν μν΅ μ 곡
- μ€μ μ°Έμ¬μλ€μ μ λ’°ν μ μλ μμ§ν νκΈ° μμ€ν
ꡬμΆ
- PWA(Progressive Web App) μ μ©μ ν΅ν΄ μΉμμλ μ±μ²λΌ μννκ² μ΄μ© κ°λ₯
- JWT μΈμ¦ λ°©μμ λμ
νμ¬ μμ ν λ‘κ·ΈμΈ λ° νμ κ΄λ¦¬
- λͺ¨μ μ‘°ν: λ€μν μΉ΄ν
κ³ λ¦¬(μ μ리, 보λκ²μ, μΉ΄ν, λ§μ§ λ±)μ λ²κ° λͺ¨μμ νλμ νμΈ κ°λ₯
- λͺ¨μ μμ±: λꡬλ μ½κ² λͺ¨λ¬μ ν΅ν΄ μνλ λ²κ° λͺ¨μμ μμ±
- λͺ¨μ μ°Έμ¬: μ§μ λ° κ΄μ¬μ¬ κΈ°λ°μΌλ‘ μνλ ν
λ§μ λ²κ° λͺ¨μμ μ°Έμ¬ κ°λ₯
- λͺ¨μ μμΈλ³΄κΈ°: μ£Όμ΅μ μ 보, μμΈ λ΄μ©, μμΉ μ 보, μ°Έκ°μ 리뷰 νμΈ κ°λ₯
- μ° κΈ°λ₯: λ§μμ λλ λͺ¨μμ μ° ν΄λ μ μμ
- μ€μ μ°Έμ¬μλ§ λ¦¬λ·° κ°λ₯: μ λ’°ν μ μλ νκΈ° μ 곡
- λ³μ & μ½λ©νΈ μμ±: λͺ¨μμ λν νΌλλ°±μ λ¨κΈΈ μ μμ
- λ΄κ° λ§λ λͺ¨μ & μ°Έμ¬ν λͺ¨μ κ΄λ¦¬
- μ°Έμ¬ λ΄μ λ° νκΈ° κ΄λ¦¬
- νλ‘ν μμ : λλ€μ, νλ‘ν μ¬μ§, μκ°κΈ λ³κ²½ κ°λ₯
- μ°Έκ°μ κ° μΌμ μ‘°μ¨ λ° μ 보 곡μ κ°λ₯
- λͺ¨μ μμ μ , λΉ λ₯΄κ² μν΅ κ°λ₯
- νμκ°μ
κ³Ό λ‘κ·ΈμΈμ ν΅ν΄ λλ§μ λͺ¨μ κ΄λ¦¬ κ°λ₯
- κ²μ€νΈλ‘κ·ΈμΈ: νμκ°μ μμ΄λ λ²κ°ν μ¬μ΄νΈλ₯Ό 체νν΄λ³Ό μ μμ
π λ°°ν¬: λ²κ°ν μ¬μ΄νΈ
π GitHub: λ²κ°ν GitHub
π Figma: λ²κ°ν Figma
π Notion: λ²κ°ν 곡μ Notion
ν΄λ ꡬ쑰
π¦ νλ‘μ νΈ λ£¨νΈ
βββ π api # API κ΄λ¦¬ (ν΄λΌμ΄μΈνΈ & μλ²)
β βββ π client
β β βββ π chat # μ±ν
κ΄λ ¨ API
β β βββ π meeting # λ²κ° λͺ¨μ API
β β βββ π myPage # λ§μ΄νμ΄μ§ κ΄λ ¨ API
β β βββ π review # 리뷰 API
β β βββ π user # νμκ°μ
/λ‘κ·ΈμΈ API
β βββ π middleware # API μμ² λ―Έλ€μ¨μ΄ (ex: μΈμ¦ μ²λ¦¬)
β βββ π mock # MSW & JSON-Serverλ₯Ό νμ©ν Mock λ°μ΄ν° κ΄λ¦¬
β βββ π server # μλ² API μμ² (SSR/SSG μ νμ)
β βββ π socket # WebSocket μ°κ²° κ΄λ ¨ μ€μ (STOMP & Socket.js)
β
βββ π app # Next.js App Router κΈ°λ° λλ©μΈλ³ νμ΄μ§
β βββ π liked # μ°ν λ²κ° νμ΄μ§
β βββ π meeting # λ²κ° λͺ¨μ νμ΄μ§ (ν¨λ΄λΌμ°ν
μ μ©)
β β βββ π detail # λͺ¨μ μμΈ νμ΄μ§
β β β βββ π [id] # λμ λΌμ°ν
μ μ©
β β β β βββ π @bottombar
β β β β βββ π @card
β β β β βββ π @description
β β β β βββ π @host
β β β β βββ π @location
β β β β βββ π @reviews
β β β β βββ layout.tsx
β β β βββ π components # μ¬μ¬μ© κ°λ₯ν μμΈ νμ΄μ§ μ»΄ν¬λνΈ
β β βββ π list # λͺ¨μ 리μ€νΈ νμ΄μ§
β β β βββ π @meetinglist
β β β βββ π @title
β β β βββ π components
β β β βββ layout.tsx
β βββ π myprofile # λ§μ΄νμ΄μ§ (λ΄ μ 보, λ΄ λͺ¨μ)
β βββ π review # 리뷰 νμ΄μ§
β βββ π user # μΈμ¦ κ΄λ ¨ νμ΄μ§ (λ‘κ·ΈμΈ/νμκ°μ
)
β βββ layout.tsx # μ 체 λ μ΄μμ μ€μ
β
βββ π components # μ¬μ¬μ© κ°λ₯ν UI μ»΄ν¬λνΈ
β βββ π layout # λ€λΉκ²μ΄μ
λ°, νΈν° λ± μ μ λ μ΄μμ
β βββ π modal # λͺ¨λ¬ μ»΄ν¬λνΈ
β βββ π shared # κ³΅ν΅ κΈ°λ₯ μ»΄ν¬λνΈ
β β βββ π icons # μμ΄μ½ μ»΄ν¬λνΈ
β β βββ π query # API μμ² κ΄λ ¨ UI
β βββ π ui # λ²νΌ, μΉ΄λ, Input λ± UI μμ
β βββ π utils # μ νΈλ¦¬ν° ν¨μ λͺ¨μ
β
βββ π hooks # 컀μ€ν
ν
λͺ¨μ
β βββ π chat # μ±ν
κ΄λ ¨ ν
β βββ π like # μ° κΈ°λ₯ κ΄λ ¨ ν
β βββ π map # μ§λ κ΄λ ¨ ν
β βββ π meeting # λͺ¨μ κ΄λ ¨ ν
β βββ π review # 리뷰 κ΄λ ¨ ν
β βββ π user # λ‘κ·ΈμΈ μν κ΄λ¦¬ ν
β
βββ π lib # μ νΈλ¦¬ν° λ° API μμ² κ΄λ¦¬
β βββ π constants # κ³΅ν΅ μμ (toast λ©μμ§, API μλν¬μΈνΈ λ±)
β βββ auth.ts # μΈμ¦ κ΄λ ¨ μ νΈλ¦¬ν°
β βββ formValidation.ts # μ
λ ₯ νΌ μ ν¨μ± κ²μ¬
β βββ pwa.ts # PWA μ€μ κ΄λ ¨ μ νΈλ¦¬ν°
β
βββ π store # Zustand κΈ°λ° μ μ μν κ΄λ¦¬
β βββ π chat # μ±ν
κ΄λ ¨ μν
β βββ π user # μ¬μ©μ μΈμ¦ μν
β βββ likeCoutStore.ts # μ°ν κ°μ κ΄λ¦¬
β βββ modalStore.ts # λͺ¨λ¬ μν κ΄λ¦¬
β βββ profileStore.ts # νλ‘ν κ΄λ ¨ μν κ΄λ¦¬
β
βββ π public # μ μ νμΌ κ΄λ¦¬ (μμ΄μ½, ν°νΈ, μ΄λ―Έμ§ λ±)
β
βββ π test # ν
μ€νΈ μ½λ (Jest & Cypress)
β βββ π unit # λ¨μ ν
μ€νΈ
β βββ π integration # ν΅ν© ν
μ€νΈ
β βββ π cypress # E2E ν
μ€νΈ (Cypress νμ©)
β
βββ π types # TypeScript νμ
μ μ
β
βββ π styles # μ μ μ€νμΌ (Tailwind CSS νμ©)
β βββ globals.css # μ 체 μ€νμΌ
β βββ theme.ts # ν
λ§ μ€μ
β
βββ π tailwind.config.ts # Tailwind μ€μ
βββ π next.config.mjs # Next.js μ€μ
βββ π tsconfig.json # TypeScript μ€μ
βββ π package.json # ν¨ν€μ§ λͺ©λ‘