Skip to content

Sweepic/sweepic-Aos

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

192 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

SweepicFE

기술 μŠ€νƒ

  • μ–Έμ–΄: Kotlin

  • μ•„ν‚€ν…μ²˜: MVVM (Model-View-ViewModel)

  • DI 라이브러리: Hilt

  • λ„€νŠΈμ›Œν¬ 톡신: Retrofit, OkHttp

  • 이미지 처리: Glide

  • 비동기 처리: Kotlin Coroutines

  • UI μ»΄ν¬λ„ŒνŠΈ: Material Components, Navigation Component

  • μ£Όμš” 라이브러리

라이브러리 λͺ©μ  버전
Retrofit REST API 톡신 2.9.0
Glide 이미지 λ‘œλ”© 및 캐싱 4.14.2
Hilt μ˜μ‘΄μ„± μ£Όμž… (Dependency Injection) 2.49
OkHttp HTTP ν΄λΌμ΄μ–ΈνŠΈ 및 λ‘œκΉ… 5.0.0-alpha.2
Coroutines 비동기 μž‘μ—… 처리 1.7.3
Navigation Component ν™”λ©΄ μ „ν™˜ 및 인자 전달 2.7.7

  • [FEAT]Β : μƒˆλ‘œμš΄ κΈ°λŠ₯ κ΅¬ν˜„
  • [MOD]Β : μ½”λ“œ μˆ˜μ • 및 λ‚΄λΆ€ 파일 μˆ˜μ •
  • [ADD]Β : λΆ€μˆ˜μ μΈ μ½”λ“œ μΆ”κ°€ 및 라이브러리 μΆ”κ°€, μƒˆλ‘œμš΄ 파일 생성
  • [CHORE]Β : 버전 μ½”λ“œ μˆ˜μ •, νŒ¨ν‚€μ§€ ꡬ쑰 λ³€κ²½, νƒ€μž… 및 λ³€μˆ˜λͺ… λ³€κ²½ λ“±μ˜ μž‘μ€ μž‘μ—…
  • [DEL]Β : μ“Έλͺ¨μ—†λŠ” μ½”λ“œλ‚˜ 파일 μ‚­μ œ
  • [UI]Β : UI μž‘μ—…
  • [FIX]Β : 버그 및 였λ₯˜ ν•΄κ²°
  • [HOTFIX]Β : issueλ‚˜ QAμ—μ„œ 문의된 κΈ‰ν•œ 버그 및 였λ₯˜ ν•΄κ²°
  • [MERGE]Β : λ‹€λ₯Έ λΈŒλžœμΉ˜μ™€μ˜ MERGE
  • [MOVE]Β : ν”„λ‘œμ νŠΈ λ‚΄ νŒŒμΌμ΄λ‚˜ μ½”λ“œμ˜ 이동
  • [RENAME]Β : 파일 이름 λ³€κ²½
  • [REFACTOR]Β : μ „λ©΄ μˆ˜μ •
  • [DOCS]Β : READMEλ‚˜ WIKI λ“±μ˜ λ¬Έμ„œ κ°œμ •

Branch Naming Convention

  • κΈ°λŠ₯별 브랜치:

    • feature/[SWEP-*]
    • 예: feature/[SWEP-00], add/[SWEP-00], ui/[SWEP-00]
  • Main Branch:

    • main: 배포 κ°€λŠ₯ν•œ μ•ˆμ •λœ μ½”λ“œ
    • develop: 개발 μ½”λ“œ 톡합

Issue Convention

이슈 생성

image

ν…œν”Œλ¦Ώ μž‘μ„±

  • Assignees λ₯Ό μžμ‹ μœΌλ‘œ μ„€μ •
  • Labels λ₯Ό 선택해 What / name μ„€μ •

Issue 제λͺ©

[SWEP-*] where / what

image

브랜치 생성

  • 브랜치 conevention 에 맞게 브랜치 μ„€μ •

Commit Convention

Summery μž‘μ„±

[SWEP-*] where / what

Description

μΆ”κ°€ μ„€λͺ…이 ν•„μš”ν•  경우 μž‘μ„±

Commit μ‹œ μ£Όμ˜μ‚¬ν•­

μ ˆλŒ€ AppKey λ“± λ―Όκ°ν•œ 정보가 ν¬ν•¨λœ 파일 μ˜¬λ¦¬μ§€ μ•ŠκΈ°


PR(Pull Request) Convention

PR 생성

image

ν…œν”Œλ¦Ώ μž‘μ„±

  • Reviewer(리뷰어) μ§€μ •
    • μžμ‹ μ΄ μ•„λ‹Œ νŒ€μ›λ“€λ‘œ μ„€μ •
  • Assignees(λ‹΄λ‹Ήμž) μ§€μ •
    • μžμ‹ μœΌλ‘œ μ„€μ •
  • Label μ§€μ •
    • What / name μ„€μ •

PR 제λͺ©

[SWEP-*] where / what image

μ½”λ“œ 리뷰 μ§„ν–‰

  • νŒ€μ› 쀑 μ΅œμ†Œ 1λͺ…μ˜ μ½”λ“œ 리뷰가 ν•„μš”
  • νŒ€μ› λͺ¨λ‘κ°€ μ½”λ“œ 리뷰λ₯Ό ν•˜λ„λ‘ ꢌμž₯

Code Convention

XML 넀이밍

xml file

  • Snake Case
    • activity_main
    • item_main
    • menu_main

drawable

  • Snake Case
    • Button μ•„μ΄μ½˜ β‡’ ic_[where]_[what]
      • 곡용으둜 μ‚¬μš©λ  μ•„μ΄μ½˜(νˆ΄λ°”, μ•±λ°” λ“±)은 [where] μƒλž΅
        • ex) ic_back
    • 이미지 β‡’ img_[where]_[what]
    • λ°°κ²½ β‡’ bg_[where]_[what]

shape

  • shape_[shape][radiusNum][color]_[fill/line].xml
  • shape β‡’ rect, tri, circle
  • λ§Œμ•½ μœ„μ—λ§Œ radius 10dp μ€˜μ•Όν•˜λŠ” 경우 [radiusNum]에 top10을 λ„£μ–΄μ£Όμž (μ•„λž˜λŠ” bot)
    • ex) shape_rect_10_white000_fill
    • ex) shape_rect_top10_white000_fill_gray100_line

selector

  • sel_[where][type][what].xml
    • ex) sel_main_color_bnv_menu
    • ex) sel_main_icon_bnv_profile

Component

[view][where][description] (뷰이름_ν™”λ©΄_무엇을 λ‚˜νƒ€λ‚΄λŠ”μ§€)

ex) tv_main_title

  • TextView β‡’ tv
  • EditText β‡’ et
  • RecyclerView β‡’ rv
  • ImageView β‡’ iv
  • Button, ImageButton β‡’ btn
  • xxLayout β‡’ layout
  • ViewPager β‡’ vp
  • TabLayout β‡’ tab
  • Chip β‡’ chip
  • Toolbar β‡’ toolbar
  • ScrollView β‡’ sv
  • BottomNavigation β‡’ bnv
  • FragmentContainerView β‡’ fcv
  • View(밑쀄, 경계선, 라인) β‡’ view
  • FloatingActionButton β‡’ fab
  • CardView β‡’ cv

Kotlin 넀이밍

Class & Interface

  • Upper Camel Case
    • ex) LoginActivity, TodoFragment

ν•¨μˆ˜μ™€ λ³€μˆ˜

  • Lower Camel Case
    • initXXX() : μ΄ˆκΈ°ν™” ν•¨μˆ˜ 이름

      • init[View]ClickListener : 클릭 λ¦¬μŠ€λ„ˆ μ„€μ •

      • init[NameView]Adapter : λ¦¬μ‚¬μ΄ν΄λŸ¬λ·° μ–΄λŒ‘ν„° μ„€μ •

        fun **initPresentAdapter**(){
        		binding.nameRv.adapter = PresentAdapter()
        }
    • updateXXX() : κ°±μ‹  ν•¨μˆ˜ 이름

    • removeXXX() : μ‚­μ œ ν•¨μˆ˜ 이름

    • setupXXX() : ViewModel을 observe()ν•  λ•Œ λͺ¨μ•„λ†“λŠ” ν•¨μˆ˜ 이름

    • getXXX() : Return이 μžˆλŠ” 데이터λ₯Ό λΆˆλŸ¬μ˜¬λ•Œ ν•¨μˆ˜ 이름

    • findXXX() : νŠΉμ • 객체λ₯Ό μ°ΎλŠ” ν•¨μˆ˜ 이름

    • λ³΅μˆ˜ν˜•μ„ κ°€μ Έμ˜¬λ•ŒλŠ” 뒀에 sλ₯Ό 뢙인닀: getBrands() κΌ΄

    • Raw κ°’μœΌλ‘œλΆ€ν„° enum을 찾을 λ•Œ ν•¨μˆ˜ 이름은 find()둜 ν•œλ‹€.

  • μ„œλ²„ 톡신 ν•¨μˆ˜
    • getXXX() β†’ getUserList()
    • deleteXXX() β†’ deleteUser()
    • putXXX() β†’ putProfile()
    • postXXX() β†’ postMusic()

string, color, style

  • Snake Case
  • [where]_[what]

버전 μ„€μ •

Android Studio 버전

  • Koala (μ΅œμ‹  버전)

SDK 버전

  • Compile SDK: 34
  • Target SDK: 34
  • Min SDK: 24

ν…ŒμŠ€νŠΈ ν™˜κ²½

  • IDE λ‚΄ Emulator μ‚¬μš©
  • λ‹€μ–‘ν•œ Emulator ν™˜κ²½μ„ μ΄μš©ν•΄ μ—¬λŸ¬ κΈ°κΈ°μ—μ„œλ„ μ μš©λ˜λŠ” μ§€ 확인
  • μ‹€μ œ λ””λ°”μ΄μŠ€ ν…ŒμŠ€νŠΈ ꢌμž₯

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages