Skip to content

SseO-KR/RunWithMe

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

1,190 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿƒ๐Ÿปโ€โ™‚๏ธ RunWithMe?

RunWithMe ํ”„๋กœ์ ํŠธ๋Š” Android ๋ชจ๋ฐ”์ผ๋กœ ์ œ๊ณต๋˜๋Š” ๋น„๋Œ€๋ฉด ๋Ÿฌ๋‹ ์ฑŒ๋ฆฐ์ง€ ํฌ๋ฃจ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์ž…๋‹ˆ๋‹ค. ์ฃผ์š” ๊ธฐํš ์˜๋„๋Š” ๊ฐœ๋ฐœ์ง„์˜ ์—ญ๋Ÿ‰ ํ–ฅ์ƒ๊ณผ ๊ธฐ์กด์˜ ๋Ÿฌ๋‹ ์•ฑ ์„œ๋น„์Šค์— ๋Œ€ํ•œ ๋ถˆํŽธ์ ์„ ๊ฐœ์„ ํ•˜๊ณ  ๋ณด์™„ํ•œ ์ƒˆ๋กœ์šด ๋Ÿฌ๋‹์•ฑ ๊ฐœ๋ฐœ์ด์˜€์Šต๋‹ˆ๋‹ค.
ํ‰์†Œ ๋Ÿฌ๋‹์„ ์ฆ๊ธฐ๋Š” ํŒ€์›๋“ค์ด ๋ชจ์—ฌ ์ง์ ‘ ๋Ÿฌ๋‹ ์•ฑ์„ ์˜ค๋žซ๋™์•ˆ ์‚ฌ์šฉํ•˜๋ฉด์„œ ๋А๋‚€ ๋ถˆํŽธ์ ์„ ๊ฐœ์„ ํ•˜๊ธฐ ์œ„ํ•ด ์ ๊ทน์ ์œผ๋กœ ๊ธฐํšํ•˜์˜€์œผ๋ฉฐ ๋ชจ๋‘๊ฐ€ ํ”„๋กœ์ ํŠธ์˜ ์ฃผ์ธ์˜์‹์„ ๊ฐ€์ง€๊ณ  ์ง์ ‘ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋Ÿฌ๋‹ ์•ฑ์„ ์ œ์ž‘ํ•˜์˜€์Šต๋‹ˆ๋‹ค. ๊ธฐ์กด ์„œ๋น„์Šค๋ฅผ ๋ถ„์„ํ•˜๋ฉฐ ์ตœ๋Œ€ํ•œ ์‚ฌ์šฉ์ž ํŽธ์˜์„ฑ์„ ์ƒ๊ฐํ•˜๊ณ  ์ฝ”๋กœ๋‚˜ ์‹œ๋Œ€์— ์ฆ๊ฐ€ํ•˜๋Š” ๋น„๋Œ€๋ฉด ๋Ÿฌ๋‹ ํฌ๋ฃจ ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ์‚ฌ์šฉ์ž๋“ค์˜ ์š”๊ตฌ์™€ ๋‹ฌ๋ฆฌ ๊ธฐ์กด ๋Ÿฌ๋‹์•ฑ๋“ค์€ ๊ฐœ์ธ ๋Ÿฌ๋‹์—๋งŒ ์ดˆ์ ์ด ๋งž์ถฐ์ ธ ์žˆ๋Š” ์ ์„ ๊ณ ๋ คํ•˜์—ฌ ๋Ÿฌ๋‹ ํฌ๋ฃจ ๊ธฐ๋Šฅ์— ์ดˆ์ ์„ ๋งž์ถ˜ ์ƒˆ๋กœ์šด ๋Ÿฌ๋‹ ์•ฑ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๊ณ ์ž ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

๐Ÿ‘Ÿ ๋Ÿฌ๋‹ ์ง„ํ–‰ ํ™”๋ฉด(15min)

image

๐Ÿ—บ ์Šคํฌ๋žฉ ๋Ÿฌ๋‹ ํ™”๋ฉด(15min)

image

๐Ÿšจ ๋น„์ •์ƒ์ ์ธ ์›€์ง์ž„ ๊ฐ์ง€ ํ™”๋ฉด(์ž๋™์ฐจ)

image

๐Ÿ“ƒ Description

์„œ๋น„์Šค ์ฃผ์š” ๊ธฐ๋Šฅ

image


image


์„œ๋น„์Šค ์ „์ฒด ๊ธฐ๋Šฅ

  • ์ฑŒ๋ฆฐ์ง€ ๋Ÿฌ๋‹ ๊ธฐ๋Šฅ - ์ฑŒ๋ฆฐ์ง€๋งˆ๋‹ค ๋Ÿฌ๋‹ ๊ธฐ๊ฐ„, ์‹œ๊ฐ„, ๋ชฉํ‘œ ๋“ฑ์„ ์ •ํ•ด์„œ ์ •ํ•ด์ง„ ์‹œ๊ฐ„์—๋งŒ ๋Ÿฌ๋‹ ๊ฐ€๋Šฅ
  • ๋Ÿฌ๋‹ ๊ธฐ๋Šฅ - ๋Ÿฌ๋‹์„ ๋›ฐ๋Š” ์‹ค์‹œ๊ฐ„ ๊ฒฝ๋กœ๋ฅผ ์ง€๋„์— ํ‘œ๊ธฐ, ๊ธฐ๋ก ํ‘œ๊ธฐ
  • ๋Ÿฌ๋‹ ๊ธฐ๋ก ๊ธฐ๋Šฅ - ๋Ÿฌ๋‹์„ ์™„๋ฃŒํ•˜๊ณ  ๊ฒฝ๋กœ ์‚ฌ์ง„๊ณผ ๊ธฐ๋ก ๋“ฑ์„ ์ž๋™์œผ๋กœ ๋“ฑ๋ก ๋˜๊ฒŒ ํ•˜์—ฌ ๊ธฐ๋ก์„ ์„œ๋กœ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ์Œ. ๋ˆ„์  ๊ธฐ๋ก์„ ๋ณผ ์ˆ˜ ์žˆ๊ณ  ์„ธ๋ถ€ ๋Ÿฌ๋‹ ๊ธฐ๋ก์„ ์บ˜๋ฆฐ๋” ํ˜•์‹์œผ๋กœ ๋ณผ ์ˆ˜ ์žˆ์Œ
  • ๋žญํ‚น ๊ธฐ๋Šฅ - ์ฑŒ๋ฆฐ์ง€ ๋‚ด์—์„œ ๊ฑฐ๋ฆฌ๋ณ„, ์‹œ๊ฐ„๋ณ„ ๋“ฑ์œผ๋กœ ์ •๋ ฌํ•˜์—ฌ ์ฑŒ๋ฆฐ์ง€ ํŒ€์› ๋žญํ‚น์„ ๋ณผ ์ˆ˜ ์žˆ๊ณ  ์ „์ฒด ๋žญํ‚น์—์„œ ์œ ์ €๋ณ„ ๋žญํ‚น์„ ๋ณผ ์ˆ˜ ์žˆ์Œ
  • ์ฑŒ๋ฆฐ์ง€ ๋‚ด ์†Œํ†ต ๊ธฐ๋Šฅ - ๊ฒŒ์‹œํŒ ๊ธฐ๋Šฅ์„ ํ†ตํ•˜์—ฌ ์ฑŒ๋ฆฐ์ง€ ํŒ€์›๋“ค๋ผ๋ฆฌ ์†Œํ†ต ๊ฐ€๋Šฅ
  • ์—…์  ๊ธฐ๋Šฅ - ์—…์  ๋‹ฌ์„ฑ ์‹œ ๋ฑƒ์ง€๋ฅผ ์ง€๊ธ‰
  • ๋Œ€ํšŒ ๊ธฐ๋Šฅ - ์‹œ์ฆŒ ๋‚ด ๊ธฐ๊ฐ„ ๋™์•ˆ ๋‹ฌ๋ฆฐ ๋ˆ„์  ๊ฑฐ๋ฆฌ๋กœ ๋žญํ‚น ๊ณ„์‚ฐ, ํฌ์ธํŠธ์™€ ๋ฑƒ์ง€ ๋ณด์ƒ ์ง€๊ธ‰
  • ์ถ”์ฒœ ๊ธฐ๋Šฅ - ๋Ÿฌ๋‹ ์™„๋ฃŒ ํ›„ ๊ธฐ๋ก์„ ์‚ฌ์šฉ์ž๋“ค์—๊ฒŒ ์ถ”์ฒœํ•  ์ˆ˜ ์žˆ์Œ
  • ์Šคํฌ๋žฉ ๊ธฐ๋Šฅ - ์‚ฌ์šฉ์ž๋“ค์ด ์˜ฌ๋ฆฐ ์ถ”์ฒœ ๊ฒฝ๋กœ๋ฅผ ์Šคํฌ๋žฉ์„ ํ•  ์ˆ˜ ์žˆ๊ณ  ์ถ”์ฒœ ๊ฒฝ๋กœ๋ฅผ ๋Ÿฌ๋‹ ํ™”๋ฉด์— ๋‚˜ํƒ€๋‚ด์–ด ๋›ธ ์ˆ˜ ์žˆ์Œ
  • ๋‚ ์”จ ๊ธฐ๋Šฅ - ์ตœ๊ทผ 30๋ถ„ ์ด๋‚ด์˜ ์˜ˆ๋ณด๋ฅผ ํ†ตํ•ด ํ˜„์žฌ ๋‚ ์”จ ํ™•์ธ ๊ฐ€๋Šฅ
  • TTS ๊ธฐ๋Šฅ - ๋Ÿฌ๋‹ ์‹œ์ž‘, ์ •์ง€ ์‹œ, ๊ทธ๋ฆฌ๊ณ  1km๋งˆ๋‹ค ์†Œ์š” ์‹œ๊ฐ„์„ ์Œ์„ฑ์œผ๋กœ ์•Œ๋ ค์คŒ
  • ์›Œ์น˜ ์—ฐ๋™ ๊ธฐ๋Šฅ - ์›Œ์น˜์™€ ๋กœ๊ทธ์ธ์„ ์—ฐ๋™ ๊ฐ€๋Šฅ
  • ์›Œ์น˜ ๋Ÿฌ๋‹ ๊ธฐ๋Šฅ - ์›Œ์น˜๋กœ๋„ ๋Ÿฌ๋‹ ๊ธฐ๋Šฅ์ด ๊ฐ€๋Šฅ
  • ์‹ ๊ณ  ๊ธฐ๋Šฅ - ๋ถˆํŽธํ•œ ๊ฒŒ์‹œ๋ฌผ์„ ์‹ ๊ณ  ํ•  ์ˆ˜ ์žˆ์Œ
  • ๋ฌธ์˜ ๊ธฐ๋Šฅ - ๋ฌธ์˜ํ•  ์ˆ˜ ์žˆ์Œ


๐Ÿ“ Design

์ „์ฒด ๊ธฐ์ˆ  ์Šคํƒ

image >

์ „์ฒด ์‹œ์Šคํ…œ ๊ตฌ์กฐ

image >

ERD ๋‹ค์ด์–ด๊ทธ๋žจ

1 > ๋งํฌ ๋ฐ”๋กœ๊ฐ€๊ธฐ

์š”๊ตฌ์‚ฌํ•ญ ๋ช…์„ธ์„œ

image



API ๋ช…์„ธ์„œ

image



๐Ÿ“ฑ Android

์‚ฌ์šฉํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

Name Description
Data Layer API Wear OS ๋„คํŠธ์›Œํฌ ํ†ต์‹  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
Navigation ํ”„๋ž˜๊ทธ๋จผํŠธ ์ „ํ™˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
Glide ์ด๋ฏธ์ง€ ๋กœ๋”ฉ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
ViewModel ์ˆ˜๋ช…์ฃผ๊ธฐ ๊ณ ๋ ค ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅ, ๊ด€๋ฆฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
Coroutine ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
Coroutine Flow ๋น„๋™๊ธฐ ๋ฐ์ดํ„ฐ ์ŠคํŠธ๋ฆผ
TedPermission ์•ˆ๋“œ๋กœ์ด๋“œ ๊ถŒํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
Retrofit HTTP ํ†ต์‹  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
SimpleRatingBar RatingBar ์ปค์Šคํ…€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
Dagger Hilt ์˜์กด์„ฑ ์ฃผ์ž… ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
Circle ImageView ์ด๋ฏธ์ง€๋ทฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
Google Auth ๊ตฌ๊ธ€ ์†Œ์…œ ๋กœ๊ทธ์ธ
Naver ๋„ค์ด๋ฒ„ ์†Œ์…œ ๋กœ๊ทธ์ธ
KaKao ์นด์นด์˜ค ์†Œ์…œ ๋กœ๊ทธ์ธ
Lottie ์•ˆ๋“œ๋กœ์ด๋“œ ์• ๋‹ˆ๋ฉ”์ด์…˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
GoogleMap ๊ตฌ๊ธ€ ์ง€๋„ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
FCM ํŒŒ์ด์–ด๋ฒ ์ด์Šค ํ‘ธ์‹œ ์•Œ๋ฆผ
Paging 3 ์•ˆ๋“œ๋กœ์ด๋“œ ํŽ˜์ด์ง• ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
Mp Android Chart ์•ˆ๋“œ๋กœ์ด๋“œ ์ฐจํŠธ ํ†ต๊ณ„ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
Room ์•ˆ๋“œ๋กœ์ด๋“œ DB ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
Weather Api ๊ณต๊ณต๋ฐ์ดํ„ฐํฌํ„ธ ๊ธฐ์ƒ์ฒญ ๋‚ ์”จ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
CalendarView ์บ˜๋ฆฐ๋” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

๋””๋ ‰ํ† ๋ฆฌ ๊ตฌ์กฐ

๐Ÿ“AOS
โ”œโ”€โ”€๐Ÿ“api
โ”œโ”€โ”€๐Ÿ“base
โ”œโ”€โ”€๐Ÿ“binding
โ”œโ”€โ”€๐Ÿ“datasource
โ”‚ โ”œโ”€โ”€๐Ÿ“local
โ”‚ โ”œโ”€โ”€๐Ÿ“paging
โ”œโ”€โ”€๐Ÿ“db
โ”œโ”€โ”€๐Ÿ“di
โ”œโ”€โ”€๐Ÿ“model
โ”‚ โ”œโ”€โ”€๐Ÿ“dto
โ”‚ โ”œโ”€โ”€๐Ÿ“entity
โ”‚ โ”œโ”€โ”€๐Ÿ“response
โ”œโ”€โ”€๐Ÿ“repository
โ”œโ”€โ”€๐Ÿ“service
โ”œโ”€โ”€๐Ÿ“utils
โ””โ”€โ”€๐Ÿ“view
โ”œโ”€โ”€๐Ÿ“competition
โ”‚ โ”œโ”€โ”€๐Ÿ“ranking
โ”œโ”€โ”€๐Ÿ“create_recommend
โ”œโ”€โ”€๐Ÿ“crew_detail
โ”‚ โ”œโ”€โ”€๐Ÿ“board
โ”‚ โ”‚ โ”œโ”€โ”€๐Ÿ“create
โ”‚ โ”œโ”€โ”€๐Ÿ“my_record
โ”‚ โ”œโ”€โ”€๐Ÿ“ranking
โ”‚ โ”œโ”€โ”€๐Ÿ“user_record
โ”œโ”€โ”€๐Ÿ“crew_recruit
โ”‚ โ”œโ”€โ”€๐Ÿ“create
โ”‚ โ”œโ”€โ”€๐Ÿ“detail
โ”‚ โ”œโ”€โ”€๐Ÿ“search
โ”‚ โ”‚ โ”œโ”€โ”€๐Ÿ“result
โ”œโ”€โ”€๐Ÿ“home
โ”‚ โ”œโ”€โ”€๐Ÿ“my_crew
โ”‚ โ”œโ”€โ”€๐Ÿ“ranking
โ”‚ โ”œโ”€โ”€๐Ÿ“tab
โ”‚ โ”‚ โ”œโ”€โ”€๐Ÿ“crew
โ”‚ โ”‚ โ”œโ”€โ”€๐Ÿ“home
โ”œโ”€โ”€๐Ÿ“loading
โ”œโ”€โ”€๐Ÿ“login
โ”‚ โ”œโ”€โ”€๐Ÿ“join
โ”‚ โ”œโ”€โ”€๐Ÿ“login
โ”œโ”€โ”€๐Ÿ“mypage
โ”‚ โ”œโ”€โ”€๐Ÿ“edit_profile
โ”‚ โ”œโ”€โ”€๐Ÿ“others
โ”‚ โ”œโ”€โ”€๐Ÿ“recommned_scrap
โ”‚ โ”œโ”€โ”€๐Ÿ“tab
โ”‚ โ”‚ โ”œโ”€โ”€๐Ÿ“achievement
โ”‚ โ”‚ โ”œโ”€โ”€๐Ÿ“my_board
โ”‚ โ”‚ โ”œโ”€โ”€๐Ÿ“total_record
โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€๐Ÿ“local_run
โ”œโ”€โ”€๐Ÿ“permission
โ”œโ”€โ”€๐Ÿ“recommend
โ”œโ”€โ”€๐Ÿ“route_detail
โ”œโ”€โ”€๐Ÿ“run_record_detail
โ”œโ”€โ”€๐Ÿ“running
โ”‚ โ”œโ”€โ”€๐Ÿ“list
โ”‚ โ”‚ โ”œโ”€โ”€๐Ÿ“sheet
โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€๐Ÿ“custom
โ”‚ โ”œโ”€โ”€๐Ÿ“result
โ”‚ โ”‚ โ”œโ”€โ”€๐Ÿ“achievement
โ”œโ”€โ”€๐Ÿ“user_detail

์•„ํ‚คํ…์ฒ˜ ๊ตฌ์กฐ

์„œ๋น„์Šค์†Œ๊ฐœ >
>

๐Ÿ’ฝ Back-End

์‚ฌ์šฉํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

์‚ฌ์šฉ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์‚ฌ์šฉ์ด์œ 
aop ์„œ๋น„์Šค ์ž…๋ ฅ ๋ฐ˜ํ™˜ ๋กœ๊น… ์ฒ˜๋ฆฌ
firebase-admin ๊ตฌ๊ธ€ Oauth ํ† ํฐ ๊ฒ€์ฆ, FCM ์„œ๋น„์Šค ์ด์šฉ
jackson-datatype-jsr310 LocalDateTime Json ๋ณ€ํ™˜,๋ฐ˜ํ™˜ ํฌ๋งท ์ง€์ •
coomons-fileupload ,commons-io ํŒŒ์ผ ์—…๋กœ๋“œ
spring-cloud-starter-aws aws S3์„œ๋น„์Šค ์‚ฌ์šฉ
jjwt-api,jjwt-impl,jjwt-jackson ์ธ์ฆ ์ธ๊ฐ€์— ์‚ฌ์šฉํ•  jwtํ† ํฐ ์ƒ์„ฑ ๋ฐ ๊ฒ€์ฆ
spring-boot-starter-data-jpa Mysql ์— ๊ด€๋ฆฌ,์กฐ์ž‘ํ•˜๊ธฐ ์œ„ํ•œ JPA API
spring-boot-starter-security ์ธ์ฆ,์ธ๊ฐ€ ํŠนํžˆ ๊ถŒํ•œ๊ด€๋ฆฌ๋ฅผ ์‰ฝ๊ฒŒ ํ•ด์ฃผ๋Š” ์Šคํ”„๋ง ํ•˜์œ„ ํ”„๋ ˆ์ž„์›Œํฌ
springfox-swagger-ui,springfox-boot-starter API ๋ช…์„ธ
mysql-connector-java DBMS
lombok ์ปดํŒŒ์ผ ํƒ€์ž„ ์ฝ”๋“œ ์ž๋™ ์ƒ์„ฑ๊ธฐ
querydsl-apt, querydsl-jpa JPA ์‚ฌ์šฉ ์‹œ์— ๋ณต์žกํ•œ ์ฟผ๋ฆฌ ์ฒ˜๋ฆฌ์— ์‚ฌ์šฉ
spring-boot-starter-validation ์‚ฌ์šฉ์ž์˜ ์ž…๋ ฅ์— ๋Œ€ํ•œ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ์— ๋„์›€์„ ์ฃผ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
spring-boot-starter-data-redis ํœ˜๋ฐœ์„ฑ ์ธ๋ฉ”๋ชจ๋ฆฌ ์ €์žฅ์†Œ, ์ค‘๋ณต์ฒ˜๋ฆฌ์— ์‚ฌ์šฉ
spring boot batch ํฌ์ธํŠธ ์ •์‚ฐ, ์•Œ๋ฆผ ๋ฐœ์†ก๊ณผ ๊ฐ™์€ scheduled๋กœ ์ง€์ •๋œ ์‹œ๊ฐ„์˜ ์ผ๊ด„์ฒ˜๋ฆฌ์— ์‚ฌ์šฉ

๋””๋ ‰ํ† ๋ฆฌ ๊ตฌ์กฐ

๐Ÿ“backend
โ””โ”€โ”€๐Ÿ“src/main
โ”œโ”€โ”€๐Ÿ“java/com/ssafy/d101
โ”‚ โ”œโ”€โ”€๐Ÿ“ƒGumid101Application.java
โ”‚ โ”œโ”€โ”€๐Ÿ“achievement
โ”‚ โ”œโ”€โ”€๐Ÿ“aop
โ”‚ โ”œโ”€โ”€๐Ÿ“aws
โ”‚ โ”œโ”€โ”€๐Ÿ“competition
โ”‚ โ”œโ”€โ”€๐Ÿ“config
โ”‚ โ”œโ”€โ”€๐Ÿ“controller.advice
โ”‚ โ”œโ”€โ”€๐Ÿ“crew
โ”‚ โ”œโ”€โ”€๐Ÿ“crew.activity
โ”‚ โ”œโ”€โ”€๐Ÿ“crew.manager
โ”‚ โ”œโ”€โ”€๐Ÿ“customercenter
โ”‚ โ”œโ”€โ”€๐Ÿ“customercenter.manager
โ”‚ โ”œโ”€โ”€๐Ÿ“customexception
โ”‚ โ”œโ”€โ”€๐Ÿ“dto
โ”‚ โ””โ”€โ”€๐Ÿ“entity
โ”‚ โ”‚ โ”œโ”€โ”€๐Ÿ“ƒAchievementCompleteEntity.java
โ”‚ โ”‚ โ”œโ”€โ”€๐Ÿ“ƒAchievementEntity.java
โ”‚ โ”‚ โ”œโ”€โ”€๐Ÿ“ƒCompetitionEntity.java
โ”‚ โ”‚ โ”œโ”€โ”€๐Ÿ“ƒCompetitionUserRecordEntity.java
โ”‚ โ”‚ โ”œโ”€โ”€๐Ÿ“ƒCrewBoardEntity.java
โ”‚ โ”‚ โ”œโ”€โ”€๐Ÿ“ƒCrewTotalRecordEntity.java
โ”‚ โ”‚ โ”œโ”€โ”€๐Ÿ“ƒ...
โ”‚ โ”‚ โ””โ”€โ”€๐Ÿ“ƒUserEntity.java
โ”‚ โ”œโ”€โ”€๐Ÿ“firebase
โ”‚ โ”œโ”€โ”€๐Ÿ“imgfile
โ”‚ โ”œโ”€โ”€๐Ÿ“interceptor
โ”‚ โ”œโ”€โ”€๐Ÿ“jwt
โ”‚ โ”œโ”€โ”€๐Ÿ“OAuth
โ”‚ โ”œโ”€โ”€๐Ÿ“OAuth.custom.validate
โ”‚ โ”œโ”€โ”€๐Ÿ“recomment
โ”‚ โ”œโ”€โ”€๐Ÿ“redis
โ”‚ โ”œโ”€โ”€๐Ÿ“req
โ”‚ โ”œโ”€โ”€๐Ÿ“res
โ”‚ โ”œโ”€โ”€๐Ÿ“schedule
โ”‚ โ””โ”€โ”€๐Ÿ“scrap
โ”‚ โ”‚ โ”œโ”€โ”€๐Ÿ“ƒScrapRepository.java
โ”‚ โ”‚ โ”œโ”€โ”€๐Ÿ“ƒScrapController.java
โ”‚ โ”‚ โ”œโ”€โ”€๐Ÿ“ƒScrapService.java
โ”‚ โ”‚ โ””โ”€โ”€๐Ÿ“ƒScrapServiceImpl.java
โ”‚ โ”œโ”€โ”€๐Ÿ“totalranking
โ”‚ โ”œโ”€โ”€๐Ÿ“user
โ”‚ โ””โ”€โ”€๐Ÿ“util
โ”œโ”€โ”€๐Ÿ“resources
โ”‚ โ”œโ”€โ”€๐Ÿ“ƒapplication.yml
โ”‚ โ”œโ”€โ”€๐Ÿ“ƒapplication-aws.yml
โ”‚ โ”œโ”€โ”€๐Ÿ“ƒapplication-firebase.yml
โ”‚ โ”œโ”€โ”€๐Ÿ“ƒapplication-oauth.yml
โ”‚ โ””โ”€โ”€๐Ÿ“firebase
โ”‚ โ””โ”€โ”€๐Ÿ“ƒrunwithme-...-.json
โ”œโ”€โ”€๐Ÿ“ƒ.gitignore
โ”œโ”€โ”€๐Ÿ“ƒpom.xml
โ””โ”€โ”€๐Ÿ“ƒdockerfile.yml

ํŒจํ‚ค์ง€ ๋‹ค์ด์–ด๊ทธ๋žจ

image

๋„๋ฉ”์ธ ๋ณ„๋กœ ํŒจํ‚ค์ง€๋ฅผ ๊ตฌ๋ถ„ํ•˜๋ ค๊ณ  ํ•˜์˜€๋‹ค. ํ•˜์ง€๋งŒ req,res,dto์˜ ๊ฒฝ์šฐ ๋„๋ฉ”์ธ ๋ณ„๋กœ ๊ตฌ๋ถ„ํ•˜์ง€ ์•Š๊ณ  ํ•˜๋‚˜์˜ ํŒจํ‚ค์ง€์— ๋ชจ์•„์„œ ์ฒ˜๋ฆฌํ•˜์˜€๋‹ค.

์ธ์ฆ ์ฒ˜๋ฆฌ๊ณผ์ •

image

ํด๋ผ์ด์–ธํŠธ์—์„œ OAuth Provider๋กœ ๋ถ€ํ„ฐ ๋ฐ›์€ id_token, authorized_code ํ˜น์€ AccessToken๋ฅผ ์„œ๋ฒ„์— ์ „๋‹ฌํ•˜๊ณ  ์„œ๋ฒ„์—์„œ ๋‹ค์‹œ OAuth Provider๋กœ ์š”์ฒญํ•˜์—ฌ ๊ฒ€์ฆ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.
๊ฒ€์ฆ์ด ์ •์ƒ์ผ ๊ฒฝ์šฐ ์„œ๋ฒ„์—์„œ๋Š” ์ž์‹ ์˜ ๋กœ์ง์„ ํ†ตํ•ด ์„œ๋ฒ„์˜ ์ž์›์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” JWT ํ† ํฐ์„ ๋ฐœ๊ธ‰ํ•œ๋‹ค.
>

๐Ÿ‘จโ€๐Ÿ‘ฆโ€๐Ÿ‘ฆ Team Member

Android Part

image


Back-End Part

image



๐Ÿท License

This software is licensed under the MIT ยฉSSAFY.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 5