์ด ์ฑ์ ์ฌ์ฉ์๊ฐ ์ํ์ ์ฅ๋ฐ๊ตฌ๋์ ๋ด๊ณ , ๊ตฌ๋งคํ ๋ค์ ๋ฆฌ๋ทฐ๊น์ง ๋จ๊ธธ ์ ์์ผ๋ฉฐ ๋ฌ๋ ฅ์ ์ด์ฉํด ๋ฐ์ผ๋ฆฌ๋ฃฉ์ ์ ํ ์ ์๋ ์ผํ๋ชฐ ์ฑ์ ๋๋ค. Kotlin + Jetpack Compose๋ก ๊ฐ๋ฐ๋์๊ณ , ์ฌ์ฉ์ ์นํ์ ์ธ UI์ ๊ฐ๋จํ ํ์ ๊ธฐ๋ฅ์ด ํฌํจ๋์ด ์์ต๋๋ค.
- Kotlin
- Jetpack Compose
- SharedPreferences
- Firebase Firestore
- Glide
- Android SDK 34
| ํ๋ฉด | ์ค๋ช |
|---|---|
| ๐ ๋ก๊ทธ์ธ / ํ์๊ฐ์ | ์ฌ์ฉ์๋ ์์ด๋์ ๋น๋ฐ๋ฒํธ๋ก ๊ณ์ ์ ์์ฑํ๊ณ ๋ก๊ทธ์ธํ ์ ์์ผ๋ฉฐ ๊ฐ ์ฌ์ฉ์๋ณ๋ก ๊ฐ์ธํ๋ ์ ๋ณด(์ฅ๋ฐ๊ตฌ๋, ๊ตฌ๋งค๋ด์ญ ๋ฑ)๊ฐ ์ ์ฅ๋ฉ๋๋ค. |
| ๐ ํ ํ๋ฉด | ์ ์ฒด ์ํ ๋ชฉ๋ก์ ์นดํ ๊ณ ๋ฆฌ๋ณ๋ก ๋ณผ ์ ์์ผ๋ฉฐ ์ํ๋ ์ํ์ ํด๋ฆญํด ์์ธ ์ ๋ณด๋ฅผ ํ์ธํ ์ ์์ต๋๋ค. ์ด๋ฏธ์ง๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ ์ง๊ด์ ์ธ UI๋ฅผ ์ ๊ณตํฉ๋๋ค. |
| โค๏ธ ์์๋ฆฌ์คํธ | ์ํ ์ด๋ฏธ์ง์ ์๋ ํํธ ์์ด์ฝ์ ๋๋ฌ ์์๋ฆฌ์คํธ์ ์ํ์ ์ ์ฅํ ์ ์์ต๋๋ค. ๋์ค์ ๊ด์ฌ ์๋ ์ํ์ ๋ค์ ์ฝ๊ฒ ํ์ธํ ์ ์์ต๋๋ค. |
| ๐ ์ฅ๋ฐ๊ตฌ๋ | ์ ํํ ์ํ์ ์ฅ๋ฐ๊ตฌ๋์ ๋ด์๋ ์ ์์ผ๋ฉฐ ์ด ๊ฐ๊ฒฉ ํ์ธ ๋ฐ ๊ตฌ๋งค ์งํ์ด ๊ฐ๋ฅํฉ๋๋ค. ์ ํ ํญ๋ชฉ์ ์ดํฉ์ด ์๋ ๊ณ์ฐ๋์ด ๋ณด์ฌ์ง๋๋ค. |
| ๐งพ ๊ตฌ๋งค ๋ด์ญ | ์ฌ์ฉ์๊ฐ ๊ฒฐ์ ํ ์ํ๋ค์ ๋ ์ง๋ณ๋ก ๋ฌถ์ด ํ์ธํ ์ ์์ต๋๋ค. ๊ฐ ๋ ์ง๋ง๋ค ์ด๋ค ์ํ์ ๊ตฌ๋งคํ๋์ง ์์ฝ๊ฒ ํ์ ํ ์ ์์ต๋๋ค. |
| โญ ๋ฆฌ๋ทฐ | ๊ตฌ๋งคํ ์ํ์ ํํด์ ๋ฆฌ๋ทฐ๋ฅผ ์์ฑํ ์ ์์ผ๋ฉฐ ๋ณ์ ๋ฐ ํ ์คํธ ์ ๋ ฅ์ ํตํด ๋ค๋ฅธ ์ฌ์ฉ์๋ค๊ณผ ์๊ฒฌ์ ๊ณต์ ํ ์ ์์ต๋๋ค. ๋ฆฌ๋ทฐ๋ ์ฝ๊ธฐ ์ ์ฉ์ผ๋ก๋ ์ ๊ณต๋ฉ๋๋ค. |
| ๐ ๋ฌ๋ ฅ | ๋ฌ๋ ฅ ํ๋ฉด์์ ํน์ ๋ ์ง๋ฅผ ์ ํํด ํด๋น ๋ ์ง์ ์ ์ ์ท์ ๋ฏธ๋ฆฌ ์ ์ฅํด๋ ์ ์์ต๋๋ค. ์ผ๊ธฐ์ฒ๋ผ ํ์ฉํ ์ ์๋ ์ฝ๋ ์บ๋ฆฐ๋ ๊ธฐ๋ฅ์ ๋๋ค. |
| ๊น์ฌํ | ํ์์ |
|---|---|
| ์นด์ด์คํธ ์ ์ฐํ๋ถ | ์๋ช ์ฌ๋ ๋ฐ์ดํฐ์ฌ์ด์ธ์ค์ ๊ณต |
| Github Profile | Github Profile |
์ฌ์ฉ์๊ฐ ์ฑ์ ์ฒ์ ์ฌ์ฉํ ๋ ๊ณ์ ์ ์์ฑํ๊ฑฐ๋ ๋ก๊ทธ์ธํ ์ ์๋ ํ๋ฉด์ ๋๋ค.
SharedPreferences๋ฅผ ํตํด ์ฌ์ฉ์ ์ ๋ณด๋ฅผ ๊ด๋ฆฌํ๋ฉฐ, ์ฌ์ฉ์๋ณ๋ก ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฆฌ ์ ์ฅํฉ๋๋ค.
์ ์ฒด ์ํ์ ์นดํ ๊ณ ๋ฆฌ ํํ๋ก ๋ณด์ฌ์ฃผ๋ ๋ฉ์ธ ํ๋ฉด์ ๋๋ค.
๊ฐ ์นดํ ๊ณ ๋ฆฌ๋ฅผ ํด๋ฆญํ๋ฉด ํด๋น ์นดํ ๊ณ ๋ฆฌ์ ํฌํจ๋ ์ํ๋ค์ ๋ณด์ฌ์ฃผ๋ImageListํ๋ฉด์ผ๋ก ์ด๋ํฉ๋๋ค.
์ ํ๋ ์นดํ ๊ณ ๋ฆฌ์ ์ํ๋ค์ ๊ทธ๋ฆฌ๋ ํ์์ผ๋ก ๋ณด์ฌ์ค๋๋ค.
๊ฐ ์ํ์๋ ์ด๋ฏธ์ง, ์ด๋ฆ, ๊ฐ๊ฒฉ, ํํธ(์์๋ฆฌ์คํธ ์ถ๊ฐ), ์ฅ๋ฐ๊ตฌ๋ ๋ฒํผ์ด ํจ๊ป ํ์๋ฉ๋๋ค.
ํํธ๋ฅผ ๋๋ฌ ์ ์ฅํด๋ ๊ด์ฌ ์ํ๋ค์ ๋ณด์ฌ์ฃผ๋ ํ๋ฉด์ ๋๋ค.
๋์ค์ ๋ค์ ๋ณด๊ณ ์ถ์ ์ํ๋ค์ ๊ฐํธํ๊ฒ ๋ชจ์ ๊ด๋ฆฌํ ์ ์์ต๋๋ค.
๋ด์๋ ์ํ ๋ชฉ๋ก์ ๋ณด์ฌ์ฃผ๋ ํ๋ฉด์ ๋๋ค.
์๋ ๋ณ๊ฒฝ, ํญ๋ชฉ ์ญ์ , ์ ํ๋ ์ํ์ ์ด ๊ฐ๊ฒฉ ํ์ธ์ด ๊ฐ๋ฅํ๋ฉฐ โ๊ตฌ๋งคํ๊ธฐโ ๋ฒํผ์ ํตํด ๊ฒฐ์ ํ๋ฉด์ผ๋ก ์ด๋ํฉ๋๋ค.
์ค์ ๋ก ๊ฒฐ์ ํ ์ํ๋ค์ ๋ ์ง๋ณ๋ก ๋ฌถ์ด์ ๋ณด์ฌ์ฃผ๋ ํ๋ฉด์ ๋๋ค.
๊ฐ ๋ ์ง์ ๊ตฌ๋งค ๋ด์ญ์ ์ฝ๊ฒ ํ์ธํ ์ ์์ผ๋ฉฐ ํด๋น ์ํ์ ๋ํด ๋ฆฌ๋ทฐ๋ฅผ ์์ฑํ ์๋ ์์ต๋๋ค.
๊ตฌ๋งคํ ์ํ์ ํํด์ ๋ฆฌ๋ทฐ๋ฅผ ์์ฑํ ์ ์๋ ํ๋ฉด์ ๋๋ค.
๋ณ์ ๊ณผ ํ ์คํธ๋ก ์๊ฒฌ์ ๋จ๊ธธ ์ ์์ผ๋ฉฐ ๋ค๋ฅธ ์ฌ์ฉ์์ ๋ฆฌ๋ทฐ๋ ํจ๊ป ํ์ธ ๊ฐ๋ฅํฉ๋๋ค.
๋ ์ง๋ณ๋ก ๊ทธ๋ ์ ์ ์ท์ด๋ ์ฝ๋๋ฅผ ๊ธฐ๋กํ ์ ์๋ ์ฝ๋ ์บ๋ฆฐ๋ ํ๋ฉด์ ๋๋ค.
์ฝ๋ ์ผ๊ธฐ์ฒ๋ผ ์ฌ์ฉํ ์ ์์ด ์ผ์ ์ ์คํ์ผ์ ๊ด๋ฆฌํ๊ธฐ์ ์ข์ต๋๋ค. ํด๋น ๋ ์ง์ ์ฝ๋๋ฅผ ๋ฏธ๋ฆฌ ์ ํด๋ ์ ์์ด ์ฌํ์ ๊ฐ๊ฑฐ๋ ํ ๋ ์ ์ฉํฉ๋๋ค.
๋ก๊ทธ์ธํ ์ฌ์ฉ์์ ์ด๋ฉ์ผ, ๊ฐ์ ์ผ, ์ฑ ์ค์ ์ ๋ณด๋ฅผ ํ์ธํ ์ ์๋ ๋ง์ดํ์ด์ง์ ๋๋ค.
๋ก๊ทธ์์ ๊ธฐ๋ฅ ๋ฑ๋ ์ด ํ๋ฉด์์ ํ์ฅ ๊ฐ๋ฅํ๊ฒ ์ค๊ณ๋์์ต๋๋ค.
- ๐๏ธ ์๋ฆผ ๊ธฐ๋ฅ: ์ฐํ ์ํ ํ ์ธ ์ ์๋ฆผ์ ๋ฐ์ ์ ์๋ ๊ธฐ๋ฅ ๋์
- ๐๏ธ ์นดํ ๊ณ ๋ฆฌ ํํฐ ๊ธฐ๋ฅ: ํ/๋ฆฌ์คํธ ํ๋ฉด์์ ์กฐ๊ฑด๋ณ ํํฐ(๊ฐ๊ฒฉ, ์์ ๋ฑ) ์ ๊ณต
- ๐ ๏ธ ๋ง์ดํ์ด์ง ๊ฐ์ : ํ๋กํ ํธ์ง, ๋น๋ฐ๋ฒํธ ๋ณ๊ฒฝ, ํํด ๊ธฐ๋ฅ ์ถ๊ฐ
- ๐ค Firebase Storage ์ฐ๋: ์ฌ์ฉ์ ๋ฆฌ๋ทฐ์ ์ฌ์ง ์ฒจ๋ถ ๊ธฐ๋ฅ ์ ๊ณต
- ๐ ์์ ๋ก๊ทธ์ธ ๊ธฐ๋ฅ: ๊ตฌ๊ธ/์นด์นด์ค ๊ณ์ ์ผ๋ก ๊ฐํธ ๋ก๊ทธ์ธ ์ ๊ณต ์์
- ๐ณ ์ค์ ๊ฒฐ์ ์ฐ๋: ํ์ฌ๋ โ๊ตฌ๋งคํ๊ธฐโ ํด๋ฆญ ์ ๊ฒฐ์ ์์ด ๋ฐ๋ก ๊ตฌ๋งค๋ด์ญ์ผ๋ก ์ด๋ํ์ง๋ง ์ถํ ์ค์ ๊ฒฐ์ ๋ฅผ ๋์ ํด ์ค์ ๊ตฌ๋งค ํ๋ก์ธ์ค๋ฅผ ์์ฑ