Skip to content

๐Ÿงพ ์š”๊ตฌ์‚ฌํ•ญ

ezhoon edited this page Nov 9, 2022 · 1 revision

BEEP

  • ๋กœ๊ทธ์ธ์ด ์•ˆ ๋œ ํšŒ์›์€ ๋กœ๊ทธ์ธ ํ™”๋ฉด์„ ๋„์šด๋‹ค
  • (๋กœ๊ทธ์ธ ๋œ ๊ฒฝ์šฐ) ์•ฑ ์ง„์ž… ํ™”๋ฉด์—์„œ๋Š” ํ•˜๋‹จ ๋„ค๋น„๊ฒŒ์ด์…˜ ๋ทฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๊ณ , ํ™ˆ ํƒญ, ๋ชฉ๋ก ํƒญ, ์„ค์ • ํƒญ ์ด ์žˆ๋‹ค

ํ™ˆ ํƒญ๊ณผ ๋ชฉ๋ก ํƒญ์—์„œ FloatingActionBar ๋กœ ๊ธฐํ”„ํ‹ฐ์ฝ˜์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค

์‹œ์ž‘ ํ™”๋ฉด์€ ํ™ˆ ํƒญ์ด๋‹ค

๐Ÿ“‹ ๋กœ๊ทธ์ธ

  • Kakao, Naver, Google ๊ฐ„ํŽธ ๋กœ๊ทธ์ธ์„ ์ง€์›ํ•œ๋‹ค
  • ํšŒ์› ๊ฐ€์ž… ๋ฒ„ํŠผ์„ ํ‘œ์‹œํ•œ๋‹ค

ํšŒ์› ๊ฐ€์ž…

  • SNS ํšŒ์› ๊ฐ€์ž…์„ ์ง„ํ–‰ํ•œ๋‹ค
  • (๋‹ค์Œ ํŽ˜์ด์ง€) ์œ„์น˜ ๊ถŒํ•œ์„ ์š”์ฒญํ•œ๋‹ค
  • (๋‹ค์Œ ํŽ˜์ด์ง€) PIN ๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅ ๋ฐ›๋Š”๋‹ค
  • PIN ์‚ฌ์šฉ ์•ˆ ํ•จ ๋ฒ„ํŠผ ์กด์žฌํ•œ๋‹ค (์œ„ ์‚ฌ์ง„์—์„œ ์•”ํ˜ธ ์˜ต์…˜ ๋ง๊ณ  ์‚ฌ์šฉ ์•ˆ ํ•จ ์œผ๋กœ)
  • (๋‹ค์Œ ํŽ˜์ด์ง€) PIN ์‚ฌ์šฉ ์‹œ ์ง€๋ฌธ ์ธ์‹ ์‚ฌ์šฉ ์—ฌ๋ถ€๋ฅผ ๋ฌป๋Š”๋‹ค (์ตœ์ดˆ 1ํšŒ ์ง€๋ฌธ ์ธ์‹ ํ•„์š”)

๐Ÿ“‹ ๊ธฐํ”„ํ‹ฐ์ฝ˜ ์ถ”๊ฐ€

  • ์‚ฌ์ง„์ฒฉ์—์„œ ์ถ”๊ฐ€
  • ๋ฉ”์‹œ์ง€๋‚˜ ์นดํ†ก์œผ๋กœ ๊ณต์œ ๋กœ ์ถ”๊ฐ€

๐Ÿ“‹ ํ™ˆ ํƒญ

๊ธฐํ”„ํ‹ฐ์ฝ˜๋“ค์„ ์„น์…˜์œผ๋กœ ๊ตฌ๋ถ„ํ•˜์—ฌ ์‚ฌ์šฉ์ž์—๊ฒŒ ์ถ”์ฒœ ๊ธฐํ”„ํ‹ฐ์ฝ˜์„ ๋ณด์—ฌ์ค€๋‹ค

์„น์…˜

ํ˜„์žฌ ์œ„์น˜์™€ ๊ฐ€๊นŒ์šด ๊ณณ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐํ”„ํ‹ฐ์ฝ˜

  • ์œ„์—๋Š” ๋”๋ณด๊ธฐ ๋ฒ„ํŠผ์„ ํ‘œ์‹œํ•œ๋‹ค
  • ๋”๋ณด๊ธฐ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด ๊ธฐํ”„ํ‹ฐ์ฝ˜ ๋ชฉ๋ก ํƒญ์œผ๋กœ ์ด๋™ํ•œ๋‹ค
  • ์œ„์น˜ ๊ถŒํ•œ์ด ํ—ˆ์šฉ๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ ๋ฉ”์‹œ์ง€์™€ ๊ถŒํ•œ ํ—ˆ์šฉ ์„ค์ •์œผ๋กœ ๋ฐ”๋กœ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ฒ„ํŠผ ์ถ”๊ฐ€

์‚ฌ์šฉ ๊ธฐํ•œ์ด ์ž„๋ฐ•ํ•œ ๊ธฐํ”„ํ‹ฐ์ฝ˜

  • ์œ„์—๋Š” ์ง€๋„๋ณด๊ธฐ ๋ฒ„ํŠผ์„ ํ‘œ์‹œํ•œ๋‹ค
  • ์ง€๋„๋ณด๊ธฐ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด ์ง€๋„ ํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•œ๋‹ค

์„น์…˜์— ํ‘œ์‹œ๋œ ์•„์ดํ…œ์„ ๋ˆ„๋ฅด๋ฉด ์•„์ดํ…œ ์ƒ์„ธ ํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•œ๋‹ค

์ถ”๊ฐ€ ๋ฒ„ํŠผ

  • ๊ธฐํ”„ํ‹ฐ์ฝ˜ ์ถ”๊ฐ€ ๋ฒ„ํŠผ์ด FloatingActionBar ๋กœ ์กด์žฌํ•œ๋‹ค
  • ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด ๊ธฐํ”„ํ‹ฐ์ฝ˜ ์ถ”๊ฐ€ ํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•œ๋‹ค

๐Ÿ“‹ ๊ธฐํ”„ํ‹ฐ์ฝ˜ ๋ชฉ๋ก ํƒญ

๊ธฐํ”„ํ‹ฐ์ฝ˜ ๋ชฉ๋ก์„ ํ‘œ์‹œํ•œ๋‹ค

  • ๊ธฐ๋ณธ์ ์œผ๋กœ๋Š” ์ „์ฒด ๋ชฉ๋ก์„ ๋ณด์—ฌ์ค€๋‹ค

์ •๋ ฌ ๊ธฐ์ค€

  • ์‚ฌ์šฉ ๊ธฐํ•œ ์ˆœ (๊ธฐ๋ณธ ๊ฐ’)
  • ์ตœ๊ทผ(์ถ”๊ฐ€๋œ ๋‚ ์งœ ๊ธฐ์ค€)

Chip์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ธŒ๋žœ๋“œ๋กœ ํ•„ํ„ฐ๋ง ํ•  ์ˆ˜ ์žˆ๋‹ค

  • ์ค‘๋ณต ์„ ํƒ์ด ๊ฐ€๋Šฅํ•˜๋‹ค
  • ์—ฌ๋Ÿฌ Chip ์„ ํ•œ ๋ฒˆ์— ๋ณผ ์ˆ˜ ์žˆ๋„๋ก ํŽผ์น  ์ˆ˜ ์žˆ๋‹ค

๊ฒ€์ƒ‰ ๋ฒ„ํŠผ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ธฐํ”„ํ‹ฐ์ฝ˜์„ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ๋‹ค

  • ๋ธŒ๋žœ๋“œ ๊ฒ€์ƒ‰
  • ์ƒํ’ˆ ์ด๋ฆ„ ๊ฒ€์ƒ‰
  • ๊ธฐํ•œ ๊ฒ€์ƒ‰

๋ชฉ๋ก์—์„œ ์˜†์œผ๋กœ ๋ฐ€์–ด ์‚ฌ์šฉ ์ฒ˜๋ฆฌ ํ•  ์ˆ˜ ์žˆ๋‹ค

  • ์„ธ๋ถ€ ์ •๋ณด๋ฅผ ์ €์žฅํ•˜์ง€ ์•Š๊ณ  ๊ทธ๋ƒฅ ์‚ฌ์šฉ ์ฒ˜๋ฆฌ

๐Ÿ“‹ ์„ค์ • ํƒญ

์‚ฌ์šฉํ•œ ๊ธฐํ”„ํ‹ฐ์ฝ˜ ํ™•์ธ

  • ์ƒˆ๋กœ์šด ์ฐฝ์œผ๋กœ ์ด๋™ํ•ด์„œ ์‚ฌ์šฉํ•œ ๊ธฐํ”„ํ‹ฐ์ฝ˜ ๋ชฉ๋ก์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค
  • ๋ชฉ๋ก์€ ๊ทธ๋ฆฌ๋“œ ๋ทฐ๋กœ ํ‘œ์‹œํ•œ๋‹ค

์•ฑ ์„ค์ •

  • ์‚ฌ์šฉ ์ž„๋ฐ• ์•Œ๋ฆผ (on/off)
  • ๋ณด์•ˆ ์ธ์ฆ (์ง€๋ฌธ ์ธ์‹ or PIN ์‚ฌ์šฉ ์—ฌ๋ถ€) (on/off)
  • ์œ„์น˜ ์ •๋ณด ์‚ฌ์šฉ (on/off)

์‚ฌ์šฉ์ž ์„ค์ •

  • ๋กœ๊ทธ์•„์›ƒ
  • ํšŒ์› ํƒˆํ‡ด

๊ธฐํƒ€

  • ๊ฐœ๋ฐœ์ž์—๊ฒŒ ์ปคํ”ผ ์‚ฌ์ฃผ๊ธฐ
  • ์ด์šฉ์•ฝ๊ด€
  • ๊ฐœ์ธ์ •๋ณด์ฒ˜๋ฆฌ๋ฐฉ์นจ
  • ์˜คํ”ˆ์†Œ์Šค ๋ผ์ด์„ ์Šค

๐Ÿ“‹ ์ง€๋„ ํ™”๋ฉด

ํ˜„์žฌ ์œ„์น˜๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐํ”„ํ‹ฐ์ฝ˜์„ ํ‘œ์‹œํ•œ๋‹ค

  • ํ•˜๋‹จ์— ์˜†์œผ๋กœ ๋„˜๊ธธ ์ˆ˜ ์žˆ๋Š” UI ๋ฅผ ํ‘œ์‹œํ•œ๋‹ค

๊ธฐํ”„ํ‹ฐ์ฝ˜ ์ƒ์„ธ ํ™”๋ฉด

๊ธฐํ”„ํ‹ฐ์ฝ˜์˜ ์ƒ์„ธ ์ •๋ณด๋ฅผ ํ™•์ธํ•˜๊ฑฐ๋‚˜ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํ™”๋ฉด์ด๋‹ค

๋ณด์—ฌ์ค„ ๋ฐ์ดํ„ฐ

  • ์‚ฌ์ง„
  • ์‚ฌ์šฉ์ฒ˜(๋ธŒ๋žœ๋“œ)
  • ๋งˆ๊ฐ ๊ธฐํ•œ
  • ๊ธฐํ”„ํ‹ฐ์ฝ˜ ์‚ฌ์šฉ ๋ฒ„ํŠผ
    • ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด
      • ์›๋ณธ ์‚ฌ์ง„ ๋ณด๊ธฐ ๋ฒ„ํŠผ ํ‘œ์‹œ
  • ๊ณต์œ ๋œ ์ ์ด ์žˆ๋Š” ๊ธฐํ”„ํ‹ฐ์ฝ˜์ด๋ฉด ์•Œ๋ ค์ค€๋‹ค

์‚ฌ์šฉ ๋ฒ„ํŠผ

  • ๋ณด์•ˆ ์„ค์ •๋œ ๊ฒฝ์šฐ
    • ์ง€๋ฌธ ์ธ์‹ ํ˜น์€ PIN ์š”์ฒญ
  • ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด BottomSheet ๋ฅผ ๋„์›Œ ๋ฐ”์ฝ”๋“œ๋ฅผ ๋ณด์—ฌ์ค€๋‹ค
    • ๊ธˆ์•ก๊ถŒ์ธ ๊ฒฝ์šฐ
      • ์ž”์•ก๊ณผ ์‚ฌ์šฉํ•  ๊ธˆ์•ก์„ ๋ณด์—ฌ์ค€๋‹ค
      • ๋น ๋ฅด๊ฒŒ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋„๋ก (1,000์›, 5,000์›, 10,000์›, ์ „์•ก) ๋ฒ„ํŠผ์„ ๋ณด์—ฌ์ค€๋‹ค
    • ์›๋ณธ ์‚ฌ์ง„ ๋ณด๊ธฐ ๋ฒ„ํŠผ์œผ๋กœ ๋ฐ”์ฝ”๋“œ ์ธ์‹์ด ์ž˜ ์•ˆ ๋  ๋•Œ ์›๋ณธ ์ด๋ฏธ์ง€๋ฅผ ๋ณด์—ฌ์ค€๋‹ค
  • ์ด๋ฏธ ์‚ฌ์šฉ๋œ ๋ฒ„ํŠผ์€ ๊ธฐํ”„ํ‹ฐ์ฝ˜ ์‚ฌ์šฉ ์ทจ์†Œ ๋ฒ„ํŠผ์œผ๋กœ ๋ณด์—ฌ์ง„๋‹ค

์‚ฌ์šฉ ์™„๋ฃŒ ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ ์‚ฌ์šฉ ์ฒ˜๋ฆฌ ํ•œ๋‹ค

  • ์œ„์น˜, ์‚ฌ์šฉ ์‹œ๊ฐ„ ์ •๋ณด๋ฅผ ์ €์žฅํ•œ๋‹ค
  • ์ผ๋ฐ˜ ๊ธฐํ”„ํ‹ฐ์ฝ˜์˜ ๊ฒฝ์šฐ ๋ฐ”๋กœ ์‚ฌ์šฉ ์ฒ˜๋ฆฌ ํ›„ ๋ชฉ๋ก์—์„œ ์ œ๊ฑฐํ•œ๋‹ค
  • ๊ธˆ์•ก๊ถŒ์˜ ๊ฒฝ์šฐ
    • ์ž”์•ก์ด ๋‚จ์•„์žˆ๋‹ค๋ฉด ๋ชฉ๋ก์—์„œ ์ œ๊ฑฐํ•˜์ง€ ์•Š๋Š”๋‹ค
    • ์œ„์น˜, ์‚ฌ์šฉ ์‹œ๊ฐ„, ์‚ฌ์šฉํ•œ ๊ธˆ์•ก (ํ˜น์€ ์ž”์•ก) ์ •๋ณด๋ฅผ ์ €์žฅํ•œ๋‹ค

๊ณต์œ  ๋ฒ„ํŠผ

(๋ฐ”์ฝ”๋“œ๊ฐ€ ํฌํ•จ๋œ) ๊ธฐํ”„ํ‹ฐ์ฝ˜์„ ์ด๋ฏธ์ง€๋กœ ์ถ”์ถœํ•˜์—ฌ ๊ฐค๋Ÿฌ๋ฆฌ์— ์ €์žฅํ•œ๋‹ค

  • ๋ณด์•ˆ ์ธ์ฆ์ด ๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ ๋ณด์•ˆ ์ธ์ฆ ์š”๊ตฌ
  • ๊ณต์œ ๋œ ์‹œ๊ฐ ์ •๋ณด๋ฅผ ์ €์žฅํ•œ๋‹ค (๊ฐ€์žฅ ์ตœ์‹  1๊ฐœ)

์ˆ˜์ • ๋ฒ„ํŠผ

๊ธฐํ”„ํ‹ฐ์ฝ˜ ์ •๋ณด๋ฅผ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋‹ค

  • ์ˆ˜์ • ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด ์ •๋ณด๋ฅผ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋Š” ํ˜•ํƒœ(EditText)๋กœ ๋ฐ”๋€๋‹ค
  • ํ•˜๋‹จ์˜ ๋ฒ„ํŠผ์ด ์ˆ˜์ • ์™„๋ฃŒ ๋ฒ„ํŠผ์œผ๋กœ ๋ฐ”๋€๋‹ค
  • ์ˆ˜์ • ์™„๋ฃŒ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด ๋ฐ”๋€ ์ •๋ณด๊ฐ€ ๋ฐ˜์˜๋œ๋‹ค

๐Ÿ“‹ ์‚ฌ์šฉํ•œ ๊ธฐํ”„ํ‹ฐ์ฝ˜ ํ™•์ธ ํ™”๋ฉด

์‚ฌ์šฉํ•œ ๊ธฐํ”„ํ‹ฐ์ฝ˜์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์กฐํšŒํ•  ์ˆ˜ ์žˆ๋Š” ํ™”๋ฉด์ด๋‹ค

  • ์ด๋ฏธ์ง€ ๋ถ€๋ถ„์— ์‚ฌ์šฉ ์‹œ๊ฐ„์„ ํ‘œ์‹œํ•œ๋‹ค
  • ์ด๋ฏธ์ง€๋Š” ํ‘๋ฐฑ์œผ๋กœ ์ฒ˜๋ฆฌํ•œ๋‹ค
  • ๊ธฐํ”„ํ‹ฐ์ฝ˜ ์‚ฌ์šฉ ์ทจ์†Œ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด ๊ธฐํ”„ํ‹ฐ์ฝ˜ ๋ชฉ๋ก์œผ๋กœ ๋ณต๊ตฌํ•œ๋‹ค

๋ชฉ๋ก

  • ์‚ฌ์šฉ ์™„๋ฃŒํ•œ ๊ธฐํ”„ํ‹ฐ์ฝ˜ ๋ชฉ๋ก์„ ํ‘œ์‹œํ•œ๋‹ค
  • ์‚ฌ์šฉ๋œ ๋ชฉ๋ก์— ํ‘œ์‹œ๋˜๋Š” ๊ธฐํ”„ํ‹ฐ์ฝ˜์€ ํ‘๋ฐฑ์œผ๋กœ ํ‘œ์‹œํ•œ๋‹ค
  • ์ด๋ฏธ์ง€ ๋ถ€๋ถ„์— ์‚ฌ์šฉ๋œ ๋‚ ์งœ๋ฅผ ๊ฒน์ณ์„œ ๋ณด์—ฌ์ค€๋‹ค

์ƒ์„ธ ํ™”๋ฉด

  • ์‚ฌ์šฉ ์‹œ๊ฐ„
  • ์‚ฌ์šฉ ์œ„์น˜
  • ๊ณต์œ ๋œ ์ •๋ณด

๐Ÿ“‹ ์—ฐ๊ฒฐ ๋ฐ ๋™๊ธฐํ™”

์„œ๋ฒ„์™€ ๋กœ์ปฌ์— ๋ชจ๋‘ ์ €์žฅํ•˜์—ฌ ์ธํ„ฐ๋„ท ์—ฐ๊ฒฐ ์ƒํƒœ์™€ ์ƒ๊ด€ ์—†์ด ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•ด์•ผ ํ•œ๋‹ค

  • ์ธํ„ฐ๋„ท์ด ๋‹ค์‹œ ์—ฐ๊ฒฐ๋œ ๊ฒฝ์šฐ ๋กœ์ปฌ์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๋ฐ˜์˜ํ•ด์•ผ ํ•œ๋‹ค

๐Ÿ“‹ ๊ธฐํƒ€ ์š”๊ตฌ์‚ฌํ•ญ

  • SNS ๋กœ๊ทธ์ธ ์ง€์› (Kakao, Naver, Google)
  • ์ง€๋„ API (Kakao or Naver)
  • ๋‹ค๊ตญ์–ด ์ง€์›
  • ๋‹คํฌ๋ชจ๋“œ ์ง€์›
  • ๊ฐ„๋‹จํ•œ ๋ชฉ๋ก ์• ๋‹ˆ๋ฉ”์ด์…˜
  • ๋งˆ๊ฐ ๊ธฐํ•œ์ด ์–ผ๋งˆ ๋‚จ์ง€ ์•Š์€ ๊ธฐํ”„ํ‹ฐ์ฝ˜์€ ํ‘ธ์‹œ ์•Œ๋ฆผ์œผ๋กœ ์•Œ๋ ค์ค€๋‹ค
  • ์•Œ๋ฆผ์„ ์„ ํƒํ•˜๋ฉด ๋ฐ”๋กœ ์ƒ์„ธ ํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•ด์•ผ ํ•œ๋‹ค
    • ๋ฐฑ์Šคํƒ ๊ด€๋ฆฌ ํ•„์š”

๐Ÿ“‹ ๊ธฐ์ˆ  ์Šคํƒ

  • Android + Kotlin
  • Hilt
  • Jetpack Room
  • Firebase Cloud Storage
  • DataStore
  • Clean Architecture + MVVM
  • Zxing
  • MLkit

๐Ÿ“‹ ๋ฏธ๋ž˜์— ์ถ”๊ฐ€ํ•  ๊ธฐ๋Šฅ

  • ์บ˜๋ฆฐ๋” ๊ธฐ๋Šฅ
  • ์œ„์ ฏ
  • ๋”ฅ๋งํฌ ๋ฐฉ์‹์œผ๋กœ ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž์—๊ฒŒ ๊ธฐํ”„ํ‹ฐ์ฝ˜ ๊ณต์œ 
  • ํƒœ๋ธ”๋ฆฟ ๋ชจ๋“œ ์ง€์›
  • PIN ์ฐพ๊ธฐ ๊ธฐ๋Šฅ

โœ๏ธ BEEP Tech Blog

๋ฐ•๋ช…๋ฒ”

์–‘์ˆ˜์ง„

๊น€๋ช…์„

์ด์ง€ํ›ˆ

๐Ÿ‘พ BEEP

๐Ÿ—ฃ Ground Rule

โœ๏ธ Conventions

โš™๏ธ Setting

๐ŸŒฑ Daily Scrum

week 1
week 2
week 3
week 4
week 5
week 6
Clone this wiki locally