Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

polaris428/Clippy

Repository files navigation

πŸ“‹ 클리피 (Clippy)

μ‚¬μš©μžμ˜ 볡사, μ €μž₯, κ³΅μœ κΉŒμ§€ ν•œ λ²ˆμ—.
ν΄λ¦¬ν”ΌλŠ” ν΄λ¦½λ³΄λ“œ λ‚΄μš©μ„ μžλ™ μ €μž₯ν•˜κ³ , 폴더 기반 정리 및 곡유 κΈ°λŠ₯κΉŒμ§€ μ œκ³΅ν•˜λŠ” Android ν΄λ¦½λ³΄λ“œ 관리 μ•±μž…λ‹ˆλ‹€.


🌟 μ£Όμš” κΈ°λŠ₯ (Key Features)

  • βœ… ν΄λ¦½λ³΄λ“œ μžλ™ μ €μž₯: λ³΅μ‚¬ν•œ λ‚΄μš©μ΄ μžλ™μœΌλ‘œ 앱에 μ €μž₯λ˜μ–΄ ν•„μš”ν•  λ•Œ μ‰½κ²Œ κΊΌλ‚΄ μ“Έ 수 있음
  • βœ… 폴더 기반 정리: μ‚¬μš©μžκ°€ 직접 폴더λ₯Ό λ§Œλ“€μ–΄ ν΄λ¦½λ³΄λ“œλ₯Ό 정리 κ°€λŠ₯
  • βœ… 곡유 폴더 κΈ°λŠ₯: Firebase 연동을 톡해 λ‹€λ₯Έ μ‚¬μš©μžμ™€ ν΄λ¦½λ³΄λ“œλ₯Ό μ‹€μ‹œκ°„ 곡유
  • βœ… ν΄λ¦½λ³΄λ“œ 미리보기 및 검색: μ €μž₯된 ν΄λ¦½λ³΄λ“œλ₯Ό λ‚΄μš©/λ‚ μ§œ 기반으둜 λΉ λ₯΄κ²Œ 검색 κ°€λŠ₯
  • βœ… μ»€μŠ€ν…€ UI 및 μ• λ‹ˆλ©”μ΄μ…˜: μ €μž₯ μ™„λ£Œ μ‹œ μ• λ‹ˆλ©”μ΄μ…˜ λ“± 직관적이고 λ―Έλ €ν•œ UI 제곡

πŸ“Έ μŠ€ν¬λ¦°μƒ· (Screenshots)

메인 ν™”λ©΄ μ €μž₯ κΈ°λŠ₯ μ €μž₯ κΈ°λŠ₯ GIF
image image 클리피 μ˜μƒ_2

πŸ”§ 기술 μŠ€νƒ (Tech Stack)

  • μ–Έμ–΄: 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
  • λͺ¨λ“ˆν™”: κΈ°λŠ₯ λ‹¨μœ„λ‘œ κ΅¬μ„±λœ λ©€ν‹° λͺ¨λ“ˆ μ•„ν‚€ν…μ²˜

πŸ—‚ ν”„λ‘œμ νŠΈ ꡬ쑰 (Project Structure)

πŸ“¦ 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 μ»΄ν¬λ„ŒνŠΈ, ν…Œλ§ˆ λ“±)

πŸ›  μ£Όμš” κ΅¬ν˜„ λ‚΄μš© (Highlights)

  • βœ… λΉ„νšŒμ› μ‚¬μš© κ°€λŠ₯ / 둜그인 κΈ°λŠ₯ 포함
    Firebase Authentication을 톡해 λΉ„νšŒμ›μΈ μƒνƒœμ™€ 둜그인 μƒνƒœ λ‘˜λ‹€ μ‚¬μš© κ°€λŠ₯ν•˜λ„λ‘ 개발

  • βœ… Firebase + Room ν•˜μ΄λΈŒλ¦¬λ“œ μ €μž₯ ꡬ쑰
    Room DBλ₯Ό ν†΅ν•œ 둜컬 μ €μž₯κ³Ό Firebase Realtime Databaseλ₯Ό ν†΅ν•œ μ‹€μ‹œκ°„ 동기화λ₯Ό ν•¨κ»˜ ꡬ성해 μ˜€ν”„λΌμΈ ν™˜κ²½μ—μ„œλ„ 정상 λ™μž‘

  • βœ… μ €μž₯ μ• λ‹ˆλ©”μ΄μ…˜ 제곡
    Jetpack Composeμ—μ„œ Lottie μ• λ‹ˆλ©”μ΄μ…˜κ³Ό μƒνƒœ 기반 트리거λ₯Ό μ΄μš©ν•΄ μ €μž₯ μ™„λ£Œ μ‹œ ν”Όλ“œλ°± 제곡

  • βœ… 폴더 기반 클립 정리
    클립 데이터λ₯Ό Folder ID둜 ꡬ뢄해 Room + Firebase ꡬ쑰에 λ§€ν•‘, 폴더별 필터링 제곡

  • βœ… 클립 νŽΈμ§‘ 및 μ‚­μ œ
    각 클립 μ•„μ΄ν…œμ— λŒ€ν•΄ λ‘± ν”„λ ˆμŠ€ ν˜Ήμ€ μ•„μ΄μ½˜ 클릭 이벀트λ₯Ό 톡해 νŽΈμ§‘/μ‚­μ œ 처리

  • βœ… 곡유 폴더 κΈ°λŠ₯ (Firebase 연동)
    폴더별 UUIDλ₯Ό κΈ°μ€€μœΌλ‘œ Firebaseμ—μ„œ ν•΄λ‹Ή ν΄λ”μ˜ 데이터λ₯Ό ꡬ독, λ‹€λ₯Έ μ‚¬μš©μžμ™€ 클립을 κ³΅μœ ν•˜λŠ” ꡬ쑰둜 섀계

  • βœ… μŠ¬λΌμ΄λ“œ νŒ¨λ„ UI
    Jetpack Compose둜 였λ₯Έμͺ½μ—μ„œ λΆ€λ“œλŸ½κ²Œ μ§„μž…ν•˜λŠ” νŒ¨λ„ κ΅¬ν˜„


πŸ“Œ 배운 점 (Lessons Learned)

  • 컴포즈λ₯Ό μ΄μš©ν•œ MVI 아킀텍쳐
  • λ©€ν‹° λͺ¨λ“ˆν™”λ₯Ό ν†΅ν•œ κΈ°λŠ₯ ν™•μž₯κ³Ό μœ μ§€λ³΄μˆ˜μ˜ μš©μ΄μ„±

πŸ“… ν–₯ν›„ κ°œμ„  사항 (TODO)

  • 게슀트 계정 λ§ˆμ΄κ·Έλ ˆμ΄μ…˜ κΈ°λŠ₯

  • νƒœκ·Έ 기반 클립 관리

  • μ›Ή μ‚¬μ΄νŠΈ 인앱 λΈŒλΌμš°μ €λ‘œ μ—΄κΈ°

  • λͺ¨λ“ˆ ꡬ쑰 κ°œμ„  κ΄€λ ¨ 이슈 #1

  • λ‹€κ΅­μ–΄ 지원

  • ν…ŒμŠ€νŠΈ 컀버리지 κ°•ν™” (Unit/UI Test)


πŸ‘¨β€πŸ’» 개발자 정보 (About Me)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

AltStyle γ«γ‚ˆγ£γ¦ε€‰ζ›γ•γ‚ŒγŸγƒšγƒΌγ‚Έ (->γ‚ͺγƒͺγ‚ΈγƒŠγƒ«) /