Post System Files - kookmin-sw/capstone-2025-44 GitHub Wiki

πŸ“„ Resource Files


πŸ“ κ²Œμ‹œλ¬Ό 생성 단계별 파일 ꡬ쑰

각 νŒŒμΌμ€ κ²Œμ‹œλ¬Ό 생성 κ³Όμ •μ˜ νŠΉμ • 단계λ₯Ό λ‹΄λ‹Ήν•˜λ©°, 순차적으둜 μ§„ν–‰λ©λ‹ˆλ‹€:

단계 파일λͺ… κΈ°λŠ₯
1️⃣ posting1.tsx μœ„μΉ˜ μž…λ ₯
2️⃣ posting2.tsx λ‚ μ§œ 선택
3️⃣ posting3.tsx μ‹œμž‘ μ‹œκ°„ 선택
4️⃣ posting4.tsx ν™œλ™ μ†Œμš”μ‹œκ°„ μž…λ ₯
5️⃣ posting5.tsx ν•„μš”ν•œ 인원 μž…λ ₯
6️⃣ posting6.tsx ν™œλ™ μœ ν˜•(μΉ΄ν…Œκ³ λ¦¬) 선택
7️⃣ posting7.tsx ν™œλ™ 제λͺ© μž…λ ₯
8️⃣ posting8.tsx ν™œλ™ λ‚΄μš© μž…λ ₯
9️⃣ posting9.tsx κ²Œμ‹œλ¬Ό 생성 μ™„λ£Œ 확인

🧱 곡톡 ꡬ쑰

λͺ¨λ“  posting*.tsx νŒŒμΌλ“€μ€ λΉ„μŠ·ν•œ ꡬ쑰λ₯Ό λ”°λ¦…λ‹ˆλ‹€:

  • πŸ”„ μƒνƒœ 관리:
    Recoil의 postingState μ•„ν†°μœΌλ‘œ μƒνƒœ 곡유
    β†’ 예: posting1.tsx:14-16

  • 🧩 곡톡 μ»΄ν¬λ„ŒνŠΈ μ‚¬μš©:

    • PostingAppBar : 상단 λ„€λΉ„κ²Œμ΄μ…˜ λ°”
    • PostingBoldText : 단계별 μ•ˆλ‚΄ ν…μŠ€νŠΈ
      β†’ 예: posting-bold-text.tsx:3-8
    • BottomFixed : ν•˜λ‹¨ κ³ μ • λ²„νŠΌ μ˜μ—­
  • πŸ’Ύ μƒνƒœ μ €μž₯ ν•¨μˆ˜:
    각 νŽ˜μ΄μ§€λŠ” handleSave ν•¨μˆ˜λ₯Ό 톡해 μž…λ ₯ 데이터λ₯Ό μ €μž₯
    β†’ 예: posting1.tsx:20-25

  • βœ… μœ νš¨μ„± 검사:
    μž…λ ₯ 데이터가 μ˜¬λ°”λ₯Έμ§€ 검사
    β†’ 예: posting1.tsx:48-51


πŸ” 각 νŒŒμΌλ³„ μ„ΈλΆ€ κΈ°λŠ₯

1️⃣ posting1.tsx - μœ„μΉ˜ μž…λ ₯

  • InputBox.InputMap μ»΄ν¬λ„ŒνŠΈλ‘œ μœ„μΉ˜ μž…λ ₯
  • μœ„μΉ˜κ°€ λΉ„μ–΄μžˆμ„ 경우 였λ₯˜ λ©”μ‹œμ§€ ν‘œμ‹œ
    β†’ posting1.tsx:35-43

2️⃣ posting2.tsx - λ‚ μ§œ 선택

  • μΊ˜λ¦°λ” μΈν„°νŽ˜μ΄μŠ€ 제곡
  • μ„ νƒλœ λ‚ μ§œ ν¬λ§·νŒ… ν›„ ν‘œμ‹œ
    β†’ posting2.tsx:37-40

3️⃣ posting3.tsx - μ‹œμž‘ μ‹œκ°„ 선택

  • μ‹œκ°„ 선택 μ»΄ν¬λ„ŒνŠΈ μ‚¬μš©
  • μœ νš¨ν•œ μ‹œκ°„ ν˜•μ‹μΈμ§€ 검증

4️⃣ posting4.tsx - μ†Œμš”μ‹œκ°„ μž…λ ₯

  • 숫자 μž…λ ₯ μ»΄ν¬λ„ŒνŠΈλ‘œ λΆ„ λ‹¨μœ„ μ†Œμš”μ‹œκ°„ μž…λ ₯
  • 30λΆ„ 이상 μœ νš¨μ„± 검사
  • 10λΆ„ λ‹¨μœ„ μžλ™ μ‘°μ •
    β†’ posting4.tsx:26-33

5️⃣ posting5.tsx - 인원 수 μž…λ ₯

  • 숫자 μž…λ ₯으둜 인원 수 μž…λ ₯
  • μ‚¬μš© κ°€λŠ₯ν•œ μ˜ˆμ‚°(μ‹œκ°„)κ³Ό λΉ„κ΅ν•˜μ—¬ μœ νš¨μ„± 검사
  • 총 λΉ„μš© 계산 및 μž”μ•‘ 미리보기 ν‘œμ‹œ
    β†’ posting5.tsx:91-97

6️⃣ posting6.tsx - ν™œλ™ μœ ν˜• 선택

  • μΉ΄ν…Œκ³ λ¦¬ λ²„νŠΌ κ·Έλ¦¬λ“œ 제곡
  • ν•˜λ‚˜μ˜ μΉ΄ν…Œκ³ λ¦¬λ§Œ 선택 κ°€λŠ₯
    β†’ posting6.tsx:78-81

7️⃣ posting7.tsx - 제λͺ© μž…λ ₯

  • PostingInput.InputTitle μ‚¬μš©
  • 20자 μ œν•œ, 곡백 λ°©μ§€
    β†’ posting7.tsx:57-60

8️⃣ posting8.tsx - λ‚΄μš© μž…λ ₯

  • PostingInput.InputContent μ‚¬μš©
  • 100자 이내 상세 μ„€λͺ… μž…λ ₯
  • API ν˜ΈμΆœμ„ μœ„ν•œ 데이터 ν¬λ§·νŒ…
    β†’ posting8.tsx:26-42

9️⃣ posting9.tsx - μ™„λ£Œ 확인

  • κ²Œμ‹œλ¬Ό 생성 성곡 λ©”μ‹œμ§€
  • κ²Œμ‹œλ¬Ό 보기 λ²„νŠΌ
  • μƒνƒœ μ΄ˆκΈ°ν™”
    β†’ posting9.tsx:16-48

πŸ”„ 데이터 흐름

flowchart LR
A[μ‚¬μš©μž μž…λ ₯] --> B[Recoil postingState μ €μž₯]
B --> C[λ‹€μŒ λ‹¨κ³„λ‘œ 이동]
C --> D[λͺ¨λ“  단계 μ™„λ£Œ]
D --> E[API 전솑 ν˜•μ‹μœΌλ‘œ λ³€ν™˜] --> F[μ„œλ²„μ— 데이터 전솑]
  • 각 λ‹¨κ³„λŠ” μ‚¬μš©μž μž…λ ₯을 λ°›μ•„ postingState에 μ €μž₯ν•©λ‹ˆλ‹€.
  • μ΅œμ’… λ‹¨κ³„μ—μ„œ λͺ¨λ“  μž…λ ₯ 데이터λ₯Ό λͺ¨μ•„ API ν˜•μ‹μœΌλ‘œ λ³€ν™˜ν•œ λ’€, μ„œλ²„μ— μ „μ†‘ν•©λ‹ˆλ‹€.
    β†’ posting8.tsx:57-60

πŸ—ΊοΈ λΌμš°νŒ… ꡬ성

  • λͺ¨λ“  posting νŽ˜μ΄μ§€λŠ” λΌμš°ν„°μ— λ“±λ‘λ˜μ–΄ 있으며, 인증이 ν•„μš”ν•œ 경둜둜 μ„€μ •λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€.
    β†’ index.tsx:87-126