Skip to content

humandelivery/Driver

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

22 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŽซ Taxi Driver Client

WebSocket ๊ธฐ๋ฐ˜ ์‹ค์‹œ๊ฐ„ ํƒ์‹œ ๊ธฐ์‚ฌ ํด๋ผ์ด์–ธํŠธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜

์ˆœ์ˆ˜ Java๋กœ ๊ตฌํ˜„๋˜์—ˆ์œผ๋ฉฐ, WebSocket + STOMP ํ”„๋กœํ† ์ฝœ ๊ธฐ๋ฐ˜์œผ๋กœ ์„œ๋ฒ„์™€ ํ†ต์‹ ํ•˜๊ณ , JWT ๊ธฐ๋ฐ˜ ์ธ์ฆ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์‹ค์‹œ๊ฐ„ ์ฝœ ์ˆ˜์‹ , ์ž๋™ ์Šน์ฐจ/ํ•˜์ฐจ, ์šดํ–‰ ์ƒํƒœ ๋ณด๊ณ  ๋“ฑ ์ฃผ์š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.


๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ ๊ฐœ๋ฐœ ์ด์œ 

  • ๋ชฉ์ : ์„œ๋ฒ„์™€์˜ ํ†ต์‹ , ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ, ์‹ค์‹œ๊ฐ„ ํ†ต์‹ 

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

(Client)

  • Java 21
  • RestTeamplate
  • WebSocket / STOMP

๐Ÿ”ง ์ธ์ฆ & ํ†ต์‹ 

  • RestTemplate ๊ธฐ๋ฐ˜ ๋กœ๊ทธ์ธ ์š”์ฒญ
  • WebSocket ์—ฐ๊ฒฐ ์‹œ ํ—ค๋”๋กœ ํ† ํฐ ํฌํ•จ

๐Ÿ—บ๏ธ ์‹œ์Šคํ…œ ๊ตฌ์กฐ ์š”์•ฝ

[ RestTemplate ๋กœ๊ทธ์ธ ] โ†’ [ JWT ๋ฐœ๊ธ‰ ]
        โ†“
[ WebSocket ์—ฐ๊ฒฐ (STOMP + JWT) ]
        โ†“
[ ์ฝœ ์ˆ˜์‹  ๊ตฌ๋… /user/queue/call-request ]
        โ†“
[ ์ˆ˜๋ฝ ์š”์ฒญ ์ „์†ก /app/taxi-driver/accept-call ]
        โ†“
[ ์Šน์ฐจ ์‹œ์ž‘ /app/taxi-driver/ride-start โ†’ 5์ดˆ ํ›„ ]
        โ†“
[ ํ•˜์ฐจ ์™„๋ฃŒ /app/taxi-driver/ride-finish โ†’ 15์ดˆ ํ›„ ]
        โ†“
[ ์šดํ–‰ ์‘๋‹ต ์ˆ˜์‹  /user/queue/ride-status ]

๐Ÿงช ์‚ฌ์šฉ ์˜ˆ์‹œ

# ์‹คํ–‰
java -jar 
  • ๋กœ๊ทธ์ธ ์ •๋ณด ๋ฐ ์„œ๋ฒ„ ์ฃผ์†Œ ์ž…๋ ฅ
  • ์ž๋™์œผ๋กœ ๋กœ๊ทธ์ธ ํ›„ WebSocket ์—ฐ๊ฒฐ
  • ์ˆ˜์‹ ๋œ ์ฝœ์„ ์ž๋™ ์ˆ˜๋ฝํ•˜๊ณ , ์ผ์ • ์‹œ๊ฐ„ ๊ฐ„๊ฒฉ์œผ๋กœ ์Šน์ฐจ/ํ•˜์ฐจ ์š”์ฒญ ์ „์†ก
  • ์šดํ–‰ ์ข…๋ฃŒ ํ›„ ์ƒํƒœ ์ž๋™ ์ „ํ™˜: OFF_DUTY โ†’ AVAILABLE

๐Ÿ“„ ํด๋” ๊ตฌ์กฐ ์š”์•ฝ

๐Ÿ“ application
โ”œโ”€ ClientService.java       # WebSocket ์—ฐ๊ฒฐ ๋ฐ ๋ฉ”์‹œ์ง€ ์ฒ˜๋ฆฌ
โ”œโ”€ TaxiDriverRunner.java    # main() ์‹คํ–‰ ํด๋ž˜์Šค
โ”œโ”€ RestTemplateToken.java   # JWT ๋ฐœ๊ธ‰ ์ฒ˜๋ฆฌ

๐Ÿ“ domain.model
โ”œโ”€ CallAcceptRequest.java
โ”œโ”€ DrivingInfoResponse.java
โ”œโ”€ DrivingSummaryResponse.java
โ””โ”€ TaxiDriverStatus.java    # Enum (AVAILABLE, RESERVED, DRIVING, OFF_DUTY)

๐Ÿช› ํ…Œ์ŠคํŠธ ๋ฐ ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ…

  • WebSocket ์—ฐ๊ฒฐ ์‹คํŒจ โ†’ ๋‹ค์‹œ ์žฌ์—ฐ๊ฒฐ ์‹œ๋„
  • ์ˆ˜๋ฝ ์‹คํŒจ โ†’ ์ด๋ฏธ ๋‹ค๋ฅธ ๊ธฐ์‚ฌ์—๊ฒŒ ์„ ์ ๋œ ์ฝœ์ผ ์ˆ˜ ์žˆ์Œ
  • ๋ฉ”์‹œ์ง€ ์ˆ˜์‹  ๋ˆ„๋ฝ โ†’ /user/queue/* ๊ตฌ๋… ๊ฒฝ๋กœ์™€ ๋ฉ”์‹œ์ง€ ์ „์†ก ๊ฒฝ๋กœ ํ™•์ธ ํ•„์š”

๐Ÿง  ๋ฐฐ์šด ์ 

  • STOMP ํ”„๋กœํ† ์ฝœ์„ ํ†ตํ•œ ์‹ค์‹œ๊ฐ„ ํ†ต์‹  ํ๋ฆ„ ์ดํ•ด
  • ์ˆœ์ˆ˜ Java ๊ธฐ๋ฐ˜ WebSocket ํด๋ผ์ด์–ธํŠธ ๊ตฌ์„ฑ ๊ฒฝํ—˜
  • ๋น„๋™๊ธฐ ํ๋ฆ„์—์„œ ์ƒํƒœ ์ „์ด ํƒ€์ด๋ฐ ์กฐ์ ˆ์˜ ์ค‘์š”์„ฑ ์ฒด๋“
  • ๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋“œ ์ˆœ์„œํ™”

๐Ÿ—‚๏ธ ํ–ฅํ›„ ๊ฐœ์„ ์ 

  • ์ฝœ ์ˆ˜๋ฝ/๊ฑฐ์ ˆ UI์™€ ์—ฐ๋™๋œ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ๋„๊ตฌ ์ถ”๊ฐ€
  • ๋ฉ”์‹œ์ง€ ๋ˆ„๋ฝ ๋Œ€๋น„ ์žฌ์ „์†ก ๋กœ์ง ๋„์ž…
  • ์ƒํƒœ ๋กœ๊ทธ ์ €์žฅ ๋ฐ ์‹œ๊ฐํ™”

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages