μ¬μ©μμ 볡μ¬, μ μ₯, 곡μ κΉμ§ ν λ²μ.
ν΄λ¦¬νΌλ ν΄λ¦½λ³΄λ λ΄μ©μ μλ μ μ₯νκ³ , ν΄λ κΈ°λ° μ 리 λ° κ³΅μ κΈ°λ₯κΉμ§ μ 곡νλ Android ν΄λ¦½λ³΄λ κ΄λ¦¬ μ±μ λλ€.
- β ν΄λ¦½λ³΄λ μλ μ μ₯: 볡μ¬ν λ΄μ©μ΄ μλμΌλ‘ μ±μ μ μ₯λμ΄ νμν λ μ½κ² κΊΌλ΄ μΈ μ μμ
- β ν΄λ κΈ°λ° μ 리: μ¬μ©μκ° μ§μ ν΄λλ₯Ό λ§λ€μ΄ ν΄λ¦½λ³΄λλ₯Ό μ 리 κ°λ₯
- β 곡μ ν΄λ κΈ°λ₯: Firebase μ°λμ ν΅ν΄ λ€λ₯Έ μ¬μ©μμ ν΄λ¦½λ³΄λλ₯Ό μ€μκ° κ³΅μ
- β ν΄λ¦½λ³΄λ 미리보기 λ° κ²μ: μ μ₯λ ν΄λ¦½λ³΄λλ₯Ό λ΄μ©/λ μ§ κΈ°λ°μΌλ‘ λΉ λ₯΄κ² κ²μ κ°λ₯
- β 컀μ€ν UI λ° μ λλ©μ΄μ : μ μ₯ μλ£ μ μ λλ©μ΄μ λ± μ§κ΄μ μ΄κ³ λ―Έλ €ν UI μ 곡
| λ©μΈ νλ©΄ | μ μ₯ κΈ°λ₯ | μ μ₯ κΈ°λ₯ GIF |
|---|---|---|
| image | image | ν΄λ¦¬νΌ μμ_2 |
- μΈμ΄: Kotlin
- UI: Jetpack Compose
- μν€ν μ²: MVI + Clean Architecture
- λΉλκΈ° μ²λ¦¬: Coroutine + Flow
- DI(μμ‘΄μ± μ£Όμ ): Hilt
- λ€λΉκ²μ΄μ : Navigation Compose
- λ‘컬 μ μ₯μ: Room DB
- μ€μκ° λκΈ°ν: Firebase Realtime Database
- μ΄λ―Έμ§ μ²λ¦¬: Glide
- μ λλ©μ΄μ : Lottie, Custom Compose Animation
- λμμΈ μμ€ν : Custom Compose Components
- λͺ¨λν: κΈ°λ₯ λ¨μλ‘ κ΅¬μ±λ λ©ν° λͺ¨λ μν€ν μ²
π¦ Clippy Project
β£ π± :app # μ± μ€ν μ§μ
μ
β£ π feature
β β£ π main # μ 체 νλ©΄μ λ£¨νΈ λ° λΌμ°ν
μ€μ¬
β β£ π main_save # λ©μΈ νλ©΄ μ ν μ²λ¦¬ (μ΄κΈ°ν ν¬ν¨)
β β£ π sign_in # λ‘κ·ΈμΈ νλ©΄
β β£ π splash # μ€νλμ
β β£ π clipboard # ν΄λ¦½λ³΄λ λ©μΈ κΈ°λ₯
β β£ π clipboard_list # ν΄λ¦½λ³΄λ 리μ€νΈ
β β£ π clipboard_edit # ν΄λ¦½λ³΄λ μμ
β β£ π clipboard_save_animation # μ μ₯ μ λλ©μ΄μ
νλ©΄
β β£ π clipboard_shared_list # 곡μ ν΄λ¦½λ³΄λ 리μ€νΈ
β β£ π folder_edit # ν΄λ μμ
β β£ π folder_join # ν΄λ μ°Έμ¬
β β£ π folder_setting # ν΄λ μ€μ
β β π main_slide_panel # μ¬μ΄λ ν¨λ
β£ π core
β β£ π model # λ°μ΄ν° λͺ¨λΈ (Entity λ±)
β β£ π domain # λλ©μΈ λ μ΄μ΄ (UseCase, Repository Interface)
β β£ π data # Repository ꡬν, λ°μ΄ν° μμ€
β β£ π database # Room DB κ΄λ ¨ μ½λ
β β£ π util # κ³΅ν΅ μ νΈλ¦¬ν°
β β π designsystem # λμμΈ μμ€ν
(UI μ»΄ν¬λνΈ, ν
λ§ λ±)
-
β λΉνμ μ¬μ© κ°λ₯ / λ‘κ·ΈμΈ κΈ°λ₯ ν¬ν¨
Firebase Authenticationμ ν΅ν΄ λΉνμμΈ μνμ λ‘κ·ΈμΈ μν λλ€ μ¬μ© κ°λ₯νλλ‘ κ°λ° -
β Firebase + Room νμ΄λΈλ¦¬λ μ μ₯ ꡬ쑰
Room DBλ₯Ό ν΅ν λ‘컬 μ μ₯κ³Ό Firebase Realtime Databaseλ₯Ό ν΅ν μ€μκ° λκΈ°νλ₯Ό ν¨κ» ꡬμ±ν΄ μ€νλΌμΈ νκ²½μμλ μ μ λμ -
β μ μ₯ μ λλ©μ΄μ μ 곡
Jetpack Composeμμ Lottie μ λλ©μ΄μ κ³Ό μν κΈ°λ° νΈλ¦¬κ±°λ₯Ό μ΄μ©ν΄ μ μ₯ μλ£ μ νΌλλ°± μ 곡 -
β ν΄λ κΈ°λ° ν΄λ¦½ μ 리
ν΄λ¦½ λ°μ΄ν°λ₯Ό Folder IDλ‘ κ΅¬λΆν΄ Room + Firebase ꡬ쑰μ λ§€ν, ν΄λλ³ νν°λ§ μ 곡 -
β ν΄λ¦½ νΈμ§ λ° μμ
κ° ν΄λ¦½ μμ΄ν μ λν΄ λ‘± νλ μ€ νΉμ μμ΄μ½ ν΄λ¦ μ΄λ²€νΈλ₯Ό ν΅ν΄ νΈμ§/μμ μ²λ¦¬ -
β 곡μ ν΄λ κΈ°λ₯ (Firebase μ°λ)
ν΄λλ³ UUIDλ₯Ό κΈ°μ€μΌλ‘ Firebaseμμ ν΄λΉ ν΄λμ λ°μ΄ν°λ₯Ό ꡬλ , λ€λ₯Έ μ¬μ©μμ ν΄λ¦½μ 곡μ νλ κ΅¬μ‘°λ‘ μ€κ³ -
β μ¬λΌμ΄λ ν¨λ UI
Jetpack Composeλ‘ μ€λ₯Έμͺ½μμ λΆλλ½κ² μ§μ νλ ν¨λ ꡬν
- μ»΄ν¬μ¦λ₯Ό μ΄μ©ν MVI μν€ν μ³
- λ©ν° λͺ¨λνλ₯Ό ν΅ν κΈ°λ₯ νμ₯κ³Ό μ μ§λ³΄μμ μ©μ΄μ±
-
κ²μ€νΈ κ³μ λ§μ΄κ·Έλ μ΄μ κΈ°λ₯
-
νκ·Έ κΈ°λ° ν΄λ¦½ κ΄λ¦¬
-
μΉ μ¬μ΄νΈ μΈμ± λΈλΌμ°μ λ‘ μ΄κΈ°
-
λ€κ΅μ΄ μ§μ
-
ν μ€νΈ 컀λ²λ¦¬μ§ κ°ν (Unit/UI Test)
- μ΄λ¦: polaris04
- GitHub: github.com/polaris428