Skip to content

Latest commit

ย 

History

History
101 lines (74 loc) ยท 4.82 KB

File metadata and controls

101 lines (74 loc) ยท 4.82 KB

withSejong

"์„ธ์ข…๋Œ€ํ•™๊ต ํ•™์šฐ๋“ค์„ ์œ„ํ•œ ์ค‘๊ณ ๋ฌผํ’ˆ ๊ฑฐ๋ž˜ ํ”Œ๋žซํผ ์„ธ์ข…๋ผ๋ฆฌ"

๐Ÿ“– ํ”„๋กœ์ ํŠธ ๊ฐœ์š” (Project Overview)

withSejong์€ ์„ธ์ข…๋Œ€ํ•™๊ต ํ•™์ƒ๋“ค์ด ์„œ๋กœ ์†Œํ†ตํ•˜๊ณ  ์ •๋ณด๋ฅผ ๊ณต์œ ํ•˜๋ฉฐ, ์ค‘๊ณ  ๊ฑฐ๋ž˜ ๋“ฑ์„ ํŽธ๋ฆฌํ•˜๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋Š” ์•ˆ๋“œ๋กœ์ด๋“œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ž…๋‹ˆ๋‹ค. XML Layout๊ณผ ViewBinding์„ ํ™œ์šฉํ•˜์—ฌ ์ง๊ด€์ ์ธ UI๋ฅผ ์ œ๊ณตํ•˜๋ฉฐ, MVVM ์•„ํ‚คํ…์ฒ˜๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์œ ์ง€๋ณด์ˆ˜์„ฑ๊ณผ ํ™•์žฅ์„ฑ์„ ๊ณ ๋ คํ•˜์—ฌ ๊ฐœ๋ฐœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์„ธ์ข…๋Œ€ ํ•™์ƒ ์ธ์ฆ์„ ํ†ตํ•ด ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ์ปค๋ฎค๋‹ˆํ‹ฐ ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๐ŸŽฏ ๊ฐœ๋ฐœ ๋ชฉํ‘œ

  • ์‹ ๋ขฐ์„ฑ: ์„ธ์ข…๋Œ€ ํ•™์ƒ ์ธ์ฆ์„ ํ†ตํ•œ ์•ˆ์ „ํ•œ ์ปค๋ฎค๋‹ˆํ‹ฐ ์กฐ์„ฑ
  • ํŽธ์˜์„ฑ: ์ง๊ด€์ ์ธ UI์™€ ๊ฒŒ์‹œํŒ, ์ฑ„ํŒ… ๊ธฐ๋Šฅ์„ ํ†ตํ•œ ์›ํ™œํ•œ ์†Œํ†ต
  • ์‹ค์‹œ๊ฐ„์„ฑ: FCM ๋ฐ ์‹ค์‹œ๊ฐ„ ์ฑ„ํŒ…์„ ํ†ตํ•œ ๋น ๋ฅธ ์ •๋ณด ์ „๋‹ฌ

๐Ÿš€ ํ•ต์‹ฌ ๊ธฐ๋Šฅ (Key Features)

1. ๐Ÿ” ํ•™์ƒ ์ธ์ฆ ๋ฐ ํšŒ์›๊ฐ€์ž… (Auth & Verification)

์„ธ์ข…๋Œ€ํ•™๊ต ํฌํ„ธ ์ธ์ฆ์„ ํ†ตํ•ด ์žฌํ•™์ƒ์ž„์„ ํ™•์ธํ•˜๊ณ  ๊ฐ€์ž…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์„ธ์ข…๋Œ€ ์ธ์ฆ: ์‹ค์ œ ํ•™์ƒ๋งŒ ์ด์šฉ ๊ฐ€๋Šฅํ•œ ํด๋ฆฐํ•œ ์ปค๋ฎค๋‹ˆํ‹ฐ๋ฅผ ์ง€ํ–ฅํ•ฉ๋‹ˆ๋‹ค.
  • ๊ณ„์ • ๊ด€๋ฆฌ: ๋‹‰๋„ค์ž„ ์ค‘๋ณต ํ™•์ธ, ๋น„๋ฐ€๋ฒˆํ˜ธ ๋ณ€๊ฒฝ, ํšŒ์› ํƒˆํ‡ด ๋“ฑ์˜ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

2. ๐Ÿ“ ๊ฒŒ์‹œํŒ ๋ฐ ์ค‘๊ณ  ๊ฑฐ๋ž˜ (Board & Marketplace)

์ž์œ ๋กญ๊ฒŒ ๊ฒŒ์‹œ๊ธ€์„ ์ž‘์„ฑํ•˜๊ณ , ๋ฌผํ’ˆ์„ ๊ฑฐ๋ž˜ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒŒ์‹œํŒ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

  • ๊ฒŒ์‹œ๊ธ€ ์ž‘์„ฑ: ์ด๋ฏธ์ง€ ์ฒจ๋ถ€ ๋ฐ ํƒœ๊ทธ ๊ธฐ๋Šฅ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
  • ๊ฒ€์ƒ‰ ๋ฐ ํ•„ํ„ฐ: ํ‚ค์›Œ๋“œ ๋ฐ ํƒœ๊ทธ๋ฅผ ํ†ตํ•ด ์›ํ•˜๋Š” ์ •๋ณด๋ฅผ ๋น ๋ฅด๊ฒŒ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋Œ์–ด์˜ฌ๋ฆฌ๊ธฐ: ์ž์‹ ์˜ ๊ฒŒ์‹œ๊ธ€์„ ์ƒ๋‹จ์œผ๋กœ ๋…ธ์ถœ์‹œํ‚ค๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  • ํŒ๋งค ๋‚ด์—ญ: ์ž์‹ ์˜ ๊ฑฐ๋ž˜ ๋‚ด์—ญ์„ ํ•œ๋ˆˆ์— ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

3. ๐Ÿ’ฌ ์‹ค์‹œ๊ฐ„ ์ฑ„ํŒ… (Real-time Chat)

๊ฒŒ์‹œ๊ธ€ ์ž‘์„ฑ์ž๋‚˜ ๋‹ค๋ฅธ ํ•™์šฐ๋“ค๊ณผ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋Œ€ํ™”๋ฅผ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์ฑ„ํŒ…๋ฐฉ ์ƒ์„ฑ: 1:1 ๋Œ€ํ™” ๋ฐ ๊ทธ๋ฃน ๋Œ€ํ™”๋ฐฉ์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์‹ค์‹œ๊ฐ„ ๋ฉ”์‹œ์ง€: ์ง€์—ฐ ์—†๋Š” ๋น ๋ฅธ ๋ฉ”์‹œ์ง€ ์ „์†ก์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
  • ์ฑ„ํŒ… ๋ชฉ๋ก: ์ฐธ์—ฌ ์ค‘์ธ ๋ชจ๋“  ์ฑ„ํŒ…๋ฐฉ์„ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

4. ๐Ÿ”” ์•Œ๋ฆผ ๋ฐ ์‹ ๊ณ  (Notification & Report)

  • FCM ์•Œ๋ฆผ: ์ฑ„ํŒ… ๋ฉ”์‹œ์ง€๋‚˜ ์ค‘์š”ํ•œ ์•Œ๋ฆผ์„ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋ฐ›์•„๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์‹ ๊ณ  ๊ธฐ๋Šฅ: ๋ถ€์ ์ ˆํ•œ ์‚ฌ์šฉ์ž๋‚˜ ๊ฒŒ์‹œ๊ธ€์„ ์‹ ๊ณ ํ•˜์—ฌ ์พŒ์ ํ•œ ํ™˜๊ฒฝ์„ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ› ๏ธ ์‹œ์Šคํ…œ ๊ตฌ์„ฑ๋„ (System Architecture)

Architecture Pattern: MVVM (Model-View-ViewModel)

  • View (Activity/Fragment): XML Layout์œผ๋กœ ๊ตฌ์„ฑ๋œ UI ๋ ˆ์ด์–ด์ž…๋‹ˆ๋‹ค. ViewBinding์„ ํ†ตํ•ด UI ์š”์†Œ์— ์ ‘๊ทผํ•˜๊ณ , ViewModel์˜ State๋ฅผ ๊ตฌ๋…ํ•˜์—ฌ ํ™”๋ฉด์„ ๊ฐฑ์‹ ํ•ฉ๋‹ˆ๋‹ค.
  • ViewModel: UI ์ƒํƒœ๋ฅผ ๊ด€๋ฆฌํ•˜๊ณ , Repository๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ์š”์ฒญํ•˜๋ฉฐ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.
  • Model (Repository & Data Source):
    • Retrofit: ๋ฐฑ์—”๋“œ ์„œ๋ฒ„์™€์˜ REST API ํ†ต์‹ ์„ ๋‹ด๋‹นํ•ฉ๋‹ˆ๋‹ค.
    • Data Class: ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ๋ฐ›์€ JSON ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ์ฒด๋กœ ๋งคํ•‘ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ’ป ๊ธฐ์ˆ  ์Šคํƒ (Tech Stack)

Category Technology
Language Kotlin
Architecture MVVM (Model-View-ViewModel)
UI Framework XML Layout, ViewBinding
Network Retrofit2, OkHttp
Async Coroutines, Thread
Real-time Stomp (WebSocket), FCM

๐Ÿ“ฅ ์„ค์น˜ ๋ฐ ์‹คํ–‰ ๋ฐฉ๋ฒ• (Installation & Setup)

์ด ํ”„๋กœ์ ํŠธ๋Š” Android Studio์—์„œ ๋นŒ๋“œ ๋ฐ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  1. Repository Clone:
    git clone https://github.com/your-repo/withsejong.git
  2. Open in Android Studio: Android Studio๋ฅผ ์‹คํ–‰ํ•˜๊ณ  Open์„ ์„ ํƒํ•˜์—ฌ ํ”„๋กœ์ ํŠธ ํด๋”๋ฅผ ์—ฝ๋‹ˆ๋‹ค.
  3. Sync Gradle: ํ”„๋กœ์ ํŠธ๊ฐ€ ์—ด๋ฆฌ๋ฉด Gradle Sync๊ฐ€ ์ž๋™์œผ๋กœ ์ง„ํ–‰๋ฉ๋‹ˆ๋‹ค. ์™„๋ฃŒ๋  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฝ๋‹ˆ๋‹ค.
  4. Run App: ์—๋ฎฌ๋ ˆ์ดํ„ฐ ๋˜๋Š” ์‹ค์ œ ๊ธฐ๊ธฐ๋ฅผ ์—ฐ๊ฒฐํ•˜๊ณ  Run ๋ฒ„ํŠผ(โ–ถ๏ธ)์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ“ฑ ์‚ฌ์šฉ ๊ฐ€์ด๋“œ (Usage Guide)

ํšŒ์›๊ฐ€์ž… ๋ฐ ๋กœ๊ทธ์ธ

  1. ์•ฑ ์‹คํ–‰ ํ›„ ํšŒ์›๊ฐ€์ž… ๋ฒ„ํŠผ์„ ๋ˆ„๋ฆ…๋‹ˆ๋‹ค.
  2. ํ•™๋ฒˆ๊ณผ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•˜๊ณ  ์„ธ์ข…๋Œ€ ์ธ์ฆ์„ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
  3. ๊ฐ€์ž… ์™„๋ฃŒ ํ›„ ๋กœ๊ทธ์ธ์„ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

๊ฒŒ์‹œ๊ธ€ ์ž‘์„ฑํ•˜๊ธฐ

  1. ํ™ˆ ํ™”๋ฉด ๋˜๋Š” ๊ฒŒ์‹œํŒ ํƒญ์—์„œ ๊ธ€์“ฐ๊ธฐ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฆ…๋‹ˆ๋‹ค.
  2. ์ œ๋ชฉ, ๋‚ด์šฉ, ํƒœ๊ทธ๋ฅผ ์ž…๋ ฅํ•˜๊ณ  ํ•„์š” ์‹œ ์‚ฌ์ง„์„ ์ฒจ๋ถ€ํ•ฉ๋‹ˆ๋‹ค.
  3. ๋“ฑ๋ก ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ ๊ฒŒ์‹œ๊ธ€์„ ์—…๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค.

์ฑ„ํŒ…ํ•˜๊ธฐ

  1. ๊ฒŒ์‹œ๊ธ€ ์ƒ์„ธ ํ™”๋ฉด์—์„œ ์ฑ„ํŒ…ํ•˜๊ธฐ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฆ…๋‹ˆ๋‹ค.
  2. ์ƒ๋Œ€๋ฐฉ๊ณผ์˜ ์ฑ„ํŒ…๋ฐฉ์ด ์ƒ์„ฑ๋˜๋ฉฐ ๋Œ€ํ™”๋ฅผ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.