Skip to content

BCSDLab/JJBAKSA-ANDROID

Repository files navigation

JJBACSA-ANDROID

๐Ÿฝ ์ฉ์ฉ๋ฐ•์‚ฌ ์•ˆ๋“œ๋กœ์ด๋“œ ์•ฑ ๐Ÿฝ

Technology Stacks

  • Kotlin
  • Coroutine Flow
  • Hilt
  • Retrofit 2

App Architecture

Clean architecture + MVVM Design pattern

Layer Declaration

  • domain
  • data
  • app

Code Convention

์•„๋ž˜ ๋ช…์‹œ๋œ ์ปจ๋ฒค์…˜์˜ ์˜ˆ์™ธ๊ฐ€ ๋ฐœ๊ฒฌ๋˜๋ฉด ์ด์Šˆ๋ฅผ ์—ด์–ด์„œ ์ปจ๋ฒค์…˜ ์ถ”๊ฐ€/์ˆ˜์ • ๋“ฑ ๊ฒ€ํ† 

XML id

[view]_[where]_[purpose]
  • [view] : View์˜ ์ด๋ฆ„์„ snack_case๋กœ ๋ณ€ํ™˜
    • TextView -> text_view_...
    • RecyclerView -> recycler_view_...
    • Toolbar -> toolbar_...
  • [where] : View๊ฐ€ ์œ„์น˜ํ•˜ ๊ณณ์„ ๋ช…์‹œ
    • Main screen text view -> text_view_main_...
  • [purpose] : View์˜ ์‚ฌ์šฉ ์šฉ๋„๋ฅผ ๋ช…์‹œ
    • ๋กœ๊ทธ์ธ->๋น„๋ฐ€๋ฒˆํ˜ธ ์ž…๋ ฅ EditText -> edit_text_login_password

Shape drawables (button shape, dialog shape, ...)

shape_[rect|circ|oval...](_[colorcode]_stroke)(_[colorcode]_solid)(_etc variables).xml
  • shape_rect_ff1234_stroke_f1f2f3_solid_radius_4.xml
  • shape_circ_4321fe_solid.xml

State list drawables (checked, unchecked, selected, unselected, ...)

sel_[where]_[what].xml

Kotlin code convention

  • ktlint
  • detekt

Architectual convention

  • usecase๊ฐ€ ๋‹จ์ˆœ repository๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๊ฒฝ์šฐ์—๋„ usecase ํ•„์ˆ˜ ์ ์šฉ
  • usecase์˜ ๋ฐ˜ํ™˜๊ฐ’์„ kotlin.Result๋กœ ๋ž˜ํ•‘
  • API request/response <-> Repository Model ๊ฐ„ ๋งคํ•‘(mapper ์‚ฌ์šฉ)

Git convention

๊ณตํ†ต ์‚ฌํ•ญ

[type]

  • fix : ๋ฒ„๊ทธ, ์˜ค๋ฅ˜ ํ•ด๊ฒฐ [fix] #10 - callback error
  • add : Feat ์ด์™ธ์˜ ๋ถ€์ˆ˜์ ์ธ ์ฝ”๋“œ ์ถ”๊ฐ€, ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถ”๊ฐ€, ์ƒˆ๋กœ์šด View๋‚˜ Activity ์ƒ์„ฑ [add] #11 - LoginActivity [add] #12 - CircleImageView Library
  • feat : ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ ๊ตฌํ˜„ [feat] #11 - google login
  • del : ์“ธ๋ชจ์—†๋Š” ์ฝ”๋“œ ์‚ญ์ œ [del] #12 - unnecessary import package
  • docs : README๋‚˜ WIKI ๋“ฑ์˜ ๋ฌธ์„œ ๊ฐœ์ • [docs] update readme
  • refactor : ๋‚ด๋ถ€ ๋กœ์ง์€ ๋ณ€๊ฒฝ ํ•˜์ง€ ์•Š๊ณ  ๊ธฐ์กด์˜ ์ฝ”๋“œ๋ฅผ ๊ฐœ์„ ํ•˜๋Š” ๋ฆฌํŒฉํ† ๋ง ์‹œ [refactor] #15 - MVP architecture to MVVM
  • chore : ๊ทธ ์ด์™ธ์˜ ์žก์ผ/ ๋ฒ„์ „ ์ฝ”๋“œ ์ˆ˜์ •, ํŒจํ‚ค์ง€ ๊ตฌ์กฐ ๋ณ€๊ฒฝ, ํŒŒ์ผ ์ด๋™, ๊ฐ€๋…์„ฑ์ด๋‚˜ ๋ณ€์ˆ˜๋ช…, reformat ๋“ฑ [chore] #20 - delete unnecessary import package [chore] #21 - reformat MainActivity
  • ui : xml ํŒŒ์ผ๋งŒ ์ˆ˜์ •ํ•œ ๊ฒฝ์šฐ [ui] #30 - use constraintlayout in activity_main.xml
  • mod : ๊ทธ ์™ธ์˜ ๋‚˜๋จธ์ง€๋ฅผ ์ˆ˜์ •ํ•œ ๊ฒฝ์šฐ [mod] #31 - modify login process
  • test : ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

Issue

[[type]] ์ž‘์—… ๋‚ด์šฉ

๋ชจ๋“  ์ž‘์—… ์ „ ์ด์Šˆ ์ƒ์„ฑ์ด ์„ ํ–‰๋˜์–ด์•ผ ํ•œ๋‹ค.

  • [ui] Add login view
  • [feat] Integrate login api

Branch

#[issue number]-[type] ์ž‘์—…-๋‚ด์šฉ
  • #1-ui-Add-login-View
  • #2-feat-Integrate-login-api

Commit Message

#[issue number] [[type]] [commit message]

commit message๋Š” ํ˜„์žฌ ์‹œ์ œ๋กœ, ์ตœ๋Œ€ํ•œ ๊ฐ„๊ฒฐํ•˜๊ฒŒ ์ž‘์„ฑ

  • #1 [ui] Make password invisible
  • #1 [ui] Add sns login button

Pull Request

#[issue number] [[type]] ์ž‘์—… ๋‚ด์šฉ

branch ์ด๋ฆ„์„ ๊ทธ๋Œ€๋กœ ๋„˜๊ฒจ๋ฐ›์•„ ์ž‘์„ฑ

About

JJBACSA-ANDROID

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 8

Languages