Skip to content

Latest commit

ย 

History

History
79 lines (57 loc) ยท 3.57 KB

File metadata and controls

79 lines (57 loc) ยท 3.57 KB

Better Me: ๋ชฉํ‘œ ๋‹ฌ์„ฑ ๋„์žฅํŒ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜

๐Ÿ“Œ ํ”„๋กœ์ ํŠธ ๊ฐœ์š”

Better Me๋Š” MZ์„ธ๋Œ€์˜ '๊ฑด๊ฐ•ํ•œ ์ฑŒ๋ฆฐ์ง€ ๋ฌธํ™”'๋ฅผ ์ง€์›ํ•˜๊ธฐ ์œ„ํ•ด ๊ฐœ๋ฐœ๋œ ๋ชฉํ‘œ ๋‹ฌ์„ฑ ๋„์žฅํŒ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ž…๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๋Š” ๋‹ค์–‘ํ•œ ์นดํ…Œ๊ณ ๋ฆฌ์˜ ์ฑŒ๋ฆฐ์ง€๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์ฐธ์—ฌํ•˜๋ฉฐ, ์‹œ๊ฐ์ ์ธ ๋„์žฅํŒ์„ ํ†ตํ•ด ๋ชฉํ‘œ๋ฅผ ๋‹ฌ์„ฑํ•˜๋Š” ์žฌ๋ฏธ์™€ ๋™๊ธฐ๋ถ€์—ฌ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.


๐ŸŽฏ ์ฃผ์š” ๊ธฐ๋Šฅ

  • ํšŒ์›๊ฐ€์ž… ๋ฐ ๋กœ๊ทธ์ธ: Firebase ์ธ์ฆ์„ ํ†ตํ•œ ์‚ฌ์šฉ์ž ๊ด€๋ฆฌ
  • ์ฑŒ๋ฆฐ์ง€ ์ƒ์„ฑ ๋ฐ ์ฐธ์—ฌ: ๋‹ค์–‘ํ•œ ์นดํ…Œ๊ณ ๋ฆฌ์˜ ์ฑŒ๋ฆฐ์ง€๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์ฐธ์—ฌ
  • ๋„์žฅํŒ ์‹œ์Šคํ…œ: ๊ฐœ์ธ ๋ฐ ๊ทธ๋ฃน๋ณ„ ๋„์žฅํŒ ์ƒ์„ฑ, ์Šคํ‹ฐ์ปค ์ถ”๊ฐ€, ์ง„ํ–‰ ์ƒํ™ฉ ์‹œ๊ฐํ™”
  • ๊ทธ๋ฃน/๊ฐœ์ธ ๋ชจ๋“œ ์ „ํ™˜: ๊ทธ๋ฃน ์ฑŒ๋ฆฐ์ง€์™€ ๊ฐœ์ธ ์ฑŒ๋ฆฐ์ง€ ๊ฐ„ ์ „ํ™˜ ๊ธฐ๋Šฅ
  • SNS ๊ณต์œ : ์ง„ํ–‰ ์ƒํ™ฉ์„ SNS์— ๊ณต์œ ํ•˜์—ฌ ๋™๊ธฐ๋ถ€์—ฌ
  • ์•Œ๋ฆผ ๊ธฐ๋Šฅ: ์ฑŒ๋ฆฐ์ง€ ์ง„ํ–‰ ์ƒํ™ฉ์— ๋Œ€ํ•œ ์•Œ๋ฆผ ์ œ๊ณต
  • ๋ทฐํŽ˜์ด์ € ๊ตฌํ˜„: ์ง„ํ–‰ ์ค‘์ธ ์ฑŒ๋ฆฐ์ง€์™€ ์™„๋ฃŒ๋œ ์ฑŒ๋ฆฐ์ง€๋ฅผ ๊ตฌ๋ถ„ํ•˜์—ฌ ํ‘œ์‹œ

๐ŸŽฏ ํ”„๋กœ์ ํŠธ ๋ชฉํ‘œ

  • ๋‹ค์–‘ํ•œ ์ฑŒ๋ฆฐ์ง€: ๋‹ค์–‘ํ•œ ์นดํ…Œ๊ณ ๋ฆฌ์˜ ์ฑŒ๋ฆฐ์ง€๋ฅผ ๊ฐœ์„คํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์‹œ๊ฐ์  ๋™๊ธฐ๋ถ€์—ฌ: ๋ˆˆ์— ๋ณด๊ธฐ ์‰ฌ์šด UI๋ฅผ ์œ„ํ•ด ๋„์žฅํŒ ํ˜•ํƒœ์˜ ๊ธฐ๋Šฅ์„ ํ™œ์šฉํ•˜์—ฌ ์‹œ๊ฐ์  ํšจ๊ณผ๋ฅผ ๋†’์˜€์Šต๋‹ˆ๋‹ค.
  • ์™„๋ฃŒ ๋…๋ ค: ์ฑŒ๋ฆฐ์ง€ ์™„๋ฃŒ๊นŒ์ง€ ์ฐธ์—ฌ์ž๋“ค์—๊ฒŒ ๊ท€์—ฌ์šด ์Šคํ‹ฐ์ปค, SNS ๊ณต์œ , ์•Œ๋žŒ ๋“ฑ์˜ ๋™๊ธฐ๋ถ€์—ฌ ์‹œ์Šคํ…œ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

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

  • ์–ธ์–ด: Java
  • ๊ฐœ๋ฐœ ํ™˜๊ฒฝ: Android Studio
  • ๋ฐฑ์—”๋“œ: Firebase (์ธ์ฆ, ์‹ค์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค, ์•Œ๋ฆผ)
  • UI ๊ตฌ์„ฑ: RecyclerView, ViewPager, Fragment, ํŽ˜์ด์ € ์–ด๋Œ‘ํ„ฐ

๐Ÿ“ฑ ์•ฑ ํ๋ฆ„

  1. ์ฑŒ๋ฆฐ์ง€ ํƒ์ƒ‰ ๋ฐ ์ฐธ์—ฌ

    • ๋ฉ”์ธ ํ™”๋ฉด์—์„œ ์นดํ…Œ๊ณ ๋ฆฌ ์„ ํƒ ๋˜๋Š” ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ์„ ํ†ตํ•ด ์ฑŒ๋ฆฐ์ง€๋ฅผ ์ฐพ๊ณ  ์ฐธ์—ฌ
    • ์ฑŒ๋ฆฐ์ง€ ๋ชจ์ง‘ ์ธ์›์ด ๋งˆ๊ฐ๋˜์—ˆ๊ฑฐ๋‚˜, ๊ฐœ์„ค์ž๊ฐ€ ๋ชจ์ง‘์„ ๋งˆ๊ฐํ–ˆ์„ ๊ฒฝ์šฐ ์ฐธ์—ฌํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
      ๋ฉ”์ธํ™”๋ฉด
      ํƒ์ƒ‰ํ™”๋ฉด
      ์ฐธ๊ฐ€ํ•˜๊ธฐ
  2. ๋„์žฅํŒ ํ™œ์šฉ

    • ์ฐธ์—ฌํ•œ ์ฑŒ๋ฆฐ์ง€์˜ ๋„์žฅํŒ์— ์Šคํ‹ฐ์ปค๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ์ง„ํ–‰ ์ƒํ™ฉ์„ ๊ธฐ๋ก

    ๋„์žฅ์ฐ๊ธฐ
    ์„ธ๋ถ€์ •๋ณด
  3. ๊ทธ๋ฃน/๊ฐœ์ธ ๋ชจ๋“œ ์ „ํ™˜

    • ๊ทธ๋ฃน ์ฑŒ๋ฆฐ์ง€์™€ ๊ฐœ์ธ ์ฑŒ๋ฆฐ์ง€ ๊ฐ„ ์ „ํ™˜ํ•˜์—ฌ ๋‹ค์–‘ํ•œ ๋ฐฉ์‹์œผ๋กœ ์ฐธ์—ฌ
  4. SNS ๊ณต์œ  ๋ฐ ์•Œ๋ฆผ

    • ์ง„ํ–‰ ์ƒํ™ฉ์„ SNS์— ๊ณต์œ ํ•˜๊ณ , ์•Œ๋ฆผ์„ ํ†ตํ•ด ๋™๊ธฐ๋ถ€์—ฌ ์œ ์ง€

๊ฐœ๋ฐœ ์ค‘ ์–ด๋ ค์› ๋˜ ์ ๊ณผ ํ•ด๊ฒฐ ๊ณผ์ •

์ด ํ”„๋กœ์ ํŠธ๋ฅผ ๊ฐœ๋ฐœํ•˜๋ฉด์„œ ๊ฐ€์žฅ ์–ด๋ ค์› ๋˜ ๋ถ€๋ถ„์€ Firebase์˜ NoSQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ํ™œ์šฉํ•ด ์ฑŒ๋ฆฐ์ง€ ๋„์žฅํŒ๊ณผ ์ปค๋ฎค๋‹ˆํ‹ฐ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์ด์—ˆ์Šต๋‹ˆ๋‹ค.
ํŠนํžˆ, ๋ชฉํ‘œํ•œ ์นธ์ˆ˜๋งŒํผ ๋„์žฅํŒ์„ ์ƒ์„ฑํ•˜๊ณ  ๋‹ค์Œ ๋„์žฅํŒ์„ ๋ณด์—ฌ์ฃผ๋Š” ํ˜•ํƒœ์˜ ๊ตฌํ˜„ ์ž๋ฃŒ๊ฐ€ ๋งŽ์ง€ ์•Š์•„ ์–ด๋ ค์›€์„ ๊ฒช์—ˆ์Šต๋‹ˆ๋‹ค.

Firebase Realtime Database ํ™œ์šฉ

ํŒŒ์ด์–ด๋ฒ ์ด์Šค์— uid๊ธฐ์ค€์œผ๋กœ ์ €์žฅํ•œ ๋ฐ์ดํ„ฐ๋“ค์„ ์ „๋ถ€ ๋ถˆ๋Ÿฌ์™€ ์‚ฌ์šฉํ•˜๋Š” ์ž๋ฃŒ๊ฐ€ ๋ถ€์กฑํ•ด์„œ ์–ด๋ ค์›€์„ ๊ฒช์—ˆ์Šต๋‹ˆ๋‹ค.
๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์„ ๋•Œ๋งˆ๋‹ค DataSnapshot์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›๊ณ  ํ•„์š”ํ•œ ์ •๋ณด๋งŒ ํŒŒ์‹ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ํ•ด๊ฒฐ.
์ด๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๊ณ , ํ•„์š”ํ•œ ์ •๋ณด๋ฅผ ์ •ํ™•ํ•˜๊ฒŒ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.