"์ธ์ข ๋ํ๊ต ํ์ฐ๋ค์ ์ํ ์ค๊ณ ๋ฌผํ ๊ฑฐ๋ ํ๋ซํผ ์ธ์ข ๋ผ๋ฆฌ"
withSejong์ ์ธ์ข ๋ํ๊ต ํ์๋ค์ด ์๋ก ์ํตํ๊ณ ์ ๋ณด๋ฅผ ๊ณต์ ํ๋ฉฐ, ์ค๊ณ ๊ฑฐ๋ ๋ฑ์ ํธ๋ฆฌํ๊ฒ ํ ์ ์๋ ์๋๋ก์ด๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋๋ค. XML Layout๊ณผ ViewBinding์ ํ์ฉํ์ฌ ์ง๊ด์ ์ธ UI๋ฅผ ์ ๊ณตํ๋ฉฐ, MVVM ์ํคํ ์ฒ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ ์ง๋ณด์์ฑ๊ณผ ํ์ฅ์ฑ์ ๊ณ ๋ คํ์ฌ ๊ฐ๋ฐ๋์์ต๋๋ค.
์ธ์ข ๋ ํ์ ์ธ์ฆ์ ํตํด ์ ๋ขฐํ ์ ์๋ ์ปค๋ฎค๋ํฐ ํ๊ฒฝ์ ์ ๊ณตํฉ๋๋ค.
- ์ ๋ขฐ์ฑ: ์ธ์ข ๋ ํ์ ์ธ์ฆ์ ํตํ ์์ ํ ์ปค๋ฎค๋ํฐ ์กฐ์ฑ
- ํธ์์ฑ: ์ง๊ด์ ์ธ UI์ ๊ฒ์ํ, ์ฑํ ๊ธฐ๋ฅ์ ํตํ ์ํํ ์ํต
- ์ค์๊ฐ์ฑ: FCM ๋ฐ ์ค์๊ฐ ์ฑํ ์ ํตํ ๋น ๋ฅธ ์ ๋ณด ์ ๋ฌ
์ธ์ข ๋ํ๊ต ํฌํธ ์ธ์ฆ์ ํตํด ์ฌํ์์์ ํ์ธํ๊ณ ๊ฐ์ ํ ์ ์์ต๋๋ค.
- ์ธ์ข ๋ ์ธ์ฆ: ์ค์ ํ์๋ง ์ด์ฉ ๊ฐ๋ฅํ ํด๋ฆฐํ ์ปค๋ฎค๋ํฐ๋ฅผ ์งํฅํฉ๋๋ค.
- ๊ณ์ ๊ด๋ฆฌ: ๋๋ค์ ์ค๋ณต ํ์ธ, ๋น๋ฐ๋ฒํธ ๋ณ๊ฒฝ, ํ์ ํํด ๋ฑ์ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
์์ ๋กญ๊ฒ ๊ฒ์๊ธ์ ์์ฑํ๊ณ , ๋ฌผํ์ ๊ฑฐ๋ํ ์ ์๋ ๊ฒ์ํ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
- ๊ฒ์๊ธ ์์ฑ: ์ด๋ฏธ์ง ์ฒจ๋ถ ๋ฐ ํ๊ทธ ๊ธฐ๋ฅ์ ์ง์ํฉ๋๋ค.
- ๊ฒ์ ๋ฐ ํํฐ: ํค์๋ ๋ฐ ํ๊ทธ๋ฅผ ํตํด ์ํ๋ ์ ๋ณด๋ฅผ ๋น ๋ฅด๊ฒ ์ฐพ์ ์ ์์ต๋๋ค.
- ๋์ด์ฌ๋ฆฌ๊ธฐ: ์์ ์ ๊ฒ์๊ธ์ ์๋จ์ผ๋ก ๋ ธ์ถ์ํค๋ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
- ํ๋งค ๋ด์ญ: ์์ ์ ๊ฑฐ๋ ๋ด์ญ์ ํ๋์ ํ์ธํ ์ ์์ต๋๋ค.
๊ฒ์๊ธ ์์ฑ์๋ ๋ค๋ฅธ ํ์ฐ๋ค๊ณผ ์ค์๊ฐ์ผ๋ก ๋ํ๋ฅผ ๋๋ ์ ์์ต๋๋ค.
- ์ฑํ ๋ฐฉ ์์ฑ: 1:1 ๋ํ ๋ฐ ๊ทธ๋ฃน ๋ํ๋ฐฉ์ ์์ฑํ ์ ์์ต๋๋ค.
- ์ค์๊ฐ ๋ฉ์์ง: ์ง์ฐ ์๋ ๋น ๋ฅธ ๋ฉ์์ง ์ ์ก์ ์ง์ํฉ๋๋ค.
- ์ฑํ ๋ชฉ๋ก: ์ฐธ์ฌ ์ค์ธ ๋ชจ๋ ์ฑํ ๋ฐฉ์ ๊ด๋ฆฌํ ์ ์์ต๋๋ค.
- FCM ์๋ฆผ: ์ฑํ ๋ฉ์์ง๋ ์ค์ํ ์๋ฆผ์ ์ค์๊ฐ์ผ๋ก ๋ฐ์๋ณผ ์ ์์ต๋๋ค.
- ์ ๊ณ ๊ธฐ๋ฅ: ๋ถ์ ์ ํ ์ฌ์ฉ์๋ ๊ฒ์๊ธ์ ์ ๊ณ ํ์ฌ ์พ์ ํ ํ๊ฒฝ์ ์ ์งํฉ๋๋ค.
- View (Activity/Fragment): XML Layout์ผ๋ก ๊ตฌ์ฑ๋ UI ๋ ์ด์ด์ ๋๋ค. ViewBinding์ ํตํด UI ์์์ ์ ๊ทผํ๊ณ , ViewModel์ State๋ฅผ ๊ตฌ๋ ํ์ฌ ํ๋ฉด์ ๊ฐฑ์ ํฉ๋๋ค.
- ViewModel: UI ์ํ๋ฅผ ๊ด๋ฆฌํ๊ณ , Repository๋ฅผ ํตํด ๋ฐ์ดํฐ๋ฅผ ์์ฒญํ๋ฉฐ ๋น์ฆ๋์ค ๋ก์ง์ ์ฒ๋ฆฌํฉ๋๋ค.
- Model (Repository & Data Source):
- Retrofit: ๋ฐฑ์๋ ์๋ฒ์์ REST API ํต์ ์ ๋ด๋นํฉ๋๋ค.
- Data Class: ์๋ฒ๋ก๋ถํฐ ๋ฐ์ JSON ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ฒด๋ก ๋งคํํฉ๋๋ค.
| 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 |
์ด ํ๋ก์ ํธ๋ Android Studio์์ ๋น๋ ๋ฐ ์คํํ ์ ์์ต๋๋ค.
- Repository Clone:
git clone https://github.com/your-repo/withsejong.git
- Open in Android Studio:
Android Studio๋ฅผ ์คํํ๊ณ
Open์ ์ ํํ์ฌ ํ๋ก์ ํธ ํด๋๋ฅผ ์ฝ๋๋ค. - Sync Gradle: ํ๋ก์ ํธ๊ฐ ์ด๋ฆฌ๋ฉด Gradle Sync๊ฐ ์๋์ผ๋ก ์งํ๋ฉ๋๋ค. ์๋ฃ๋ ๋๊น์ง ๊ธฐ๋ค๋ฆฝ๋๋ค.
- Run App:
์๋ฎฌ๋ ์ดํฐ ๋๋ ์ค์ ๊ธฐ๊ธฐ๋ฅผ ์ฐ๊ฒฐํ๊ณ
Run๋ฒํผ(โถ๏ธ )์ ํด๋ฆญํฉ๋๋ค.
- ์ฑ ์คํ ํ
ํ์๊ฐ์๋ฒํผ์ ๋๋ฆ ๋๋ค. - ํ๋ฒ๊ณผ ๋น๋ฐ๋ฒํธ๋ฅผ ์ ๋ ฅํ๊ณ ์ธ์ข ๋ ์ธ์ฆ์ ์งํํฉ๋๋ค.
- ๊ฐ์ ์๋ฃ ํ ๋ก๊ทธ์ธ์ ์งํํฉ๋๋ค.
- ํ ํ๋ฉด ๋๋ ๊ฒ์ํ ํญ์์
๊ธ์ฐ๊ธฐ๋ฒํผ์ ๋๋ฆ ๋๋ค. - ์ ๋ชฉ, ๋ด์ฉ, ํ๊ทธ๋ฅผ ์ ๋ ฅํ๊ณ ํ์ ์ ์ฌ์ง์ ์ฒจ๋ถํฉ๋๋ค.
๋ฑ๋ก๋ฒํผ์ ๋๋ฌ ๊ฒ์๊ธ์ ์ ๋ก๋ํฉ๋๋ค.
- ๊ฒ์๊ธ ์์ธ ํ๋ฉด์์
์ฑํ ํ๊ธฐ๋ฒํผ์ ๋๋ฆ ๋๋ค. - ์๋๋ฐฉ๊ณผ์ ์ฑํ ๋ฐฉ์ด ์์ฑ๋๋ฉฐ ๋ํ๋ฅผ ์์ํ ์ ์์ต๋๋ค.