Skip to content

๐Ÿš„ ์—ฌํ–‰์ง€๋ฅผ ์ฐพ๊ณ , ๊ณ„ํš์„ ์„ธ์šฐ๊ณ , ๊ธฐ๋ก์„ ๋‚จ๊ธฐ๋ฉฐ ์‚ฌ๋žŒ๋“ค๊ณผ ์†Œํ†ตํ•˜๋Š” ์—ฌํ–‰ ํ”Œ๋ž˜๋„ˆ + ์—ฌํ–‰ SNS ํ”„๋กœ์ ํŠธ ๐Ÿš„

Notifications You must be signed in to change notification settings

Dokuny/Traverse

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

7 Commits
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

TRAVERSE

ํŠธ๋ž˜๋ฒ„์Šค ๋กœ๊ณ  ์ดค์ข…

์—ฌํ–‰์ง€๋ฅผ ์ฐพ๊ณ , ์—ฌํ–‰ ๊ณ„ํš์„ ์„ธ์šฐ๊ณ , ๊ธฐ๋ก์„ ๋‚จ๊ธฐ๋Š” ์—ฌํ–‰ ํ”Œ๋ž˜๋„ˆ + ์—ฌํ–‰ SNS ํ”„๋กœ์ ํŠธ์ž…๋‹ˆ๋‹ค.



๐Ÿ“œ์ฃผ์š” ๊ธฐ๋Šฅ ์†Œ๊ฐœ

  • SNS ๊ฐ„ํŽธ ๋กœ๊ทธ์ธ / ํšŒ์›๊ฐ€์ž…

    • HTTP Interface๋ฅผ ์ด์šฉํ•˜์—ฌ ์นด์นด์˜ค์™€ ๋„ค์ด๋ฒ„์˜ OAuth 2.0 API๋ฅผ ํ†ตํ•ด ํšŒ์› ์ •๋ณด ์กฐํšŒ ๋ฐ ํšŒ์›๊ฐ€์ž… ๋ถ„๊ธฐ ์ฒ˜๋ฆฌ
    • Spring Security์™€ Json Web Token์„ ์ด์šฉํ•˜์—ฌ ์„œ๋ฒ„์— ๋Œ€ํ•œ API ๊ถŒํ•œ ์ธ์ฆ ์ฒ˜๋ฆฌ
    • Refresh Token์„ ์ด์šฉํ•œ RTR(Refresh Token Rotation)๋ฐฉ์‹์œผ๋กœ ๋กœ๊ทธ์ธ ์œ ์ง€๋ฅผ ํ†ตํ•ด UX ๋ฐ ๋ณด์•ˆ ํ–ฅ์ƒ
  • ๋Œ€์‹œ๋ณด๋“œ

    • Geolocation์„ ์ด์šฉํ•˜์—ฌ ํ˜„์žฌ ์œ„์น˜๋ฅผ ํŒŒ์•…ํ•œ ํ›„, ์œ„์น˜ ์ •๋ณด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋‚ ์”จ ๊ณต๊ณต ๋ฐ์ดํ„ฐ API์™€ ์ฃผ์†Œ ์ •๋ณด API๋ฅผ ํ™œ์šฉํ•˜์—ฌ ํ˜„์žฌ ์œ„์น˜ ๊ธฐ๋ฐ˜ ๋‚ ์”จ ์ •๋ณด ์ œ๊ณต
    • ๋‚ด๊ฐ€ ์„ธ์šด ์—ฌํ–‰ ๊ณ„ํš์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ˜„์žฌ ๋‚ ์งœ์—์„œ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ๊ณ„ํš๊นŒ์ง€์˜ D-Day ์ œ๊ณต
    • ๋‚ด ์—ฌํ–‰ ๊ณ„ํš ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ํ†ต๊ณ„ ์ •๋ณด(์ž์ฃผ ๊ฐ€๋Š” ์ง€์—ญ, ์—ฌํ–‰ ํƒ€์ž…) ์ œ๊ณต
    • ์Šคํ”„๋ง ์Šค์ผ€์ค„๋ง๊ณผ Youtube API๋ฅผ ํ™œ์šฉํ•œ ์—ฌํ–‰ ๊ด€๋ จ ์ธ๊ธฐ ์˜์ƒ ์ œ๊ณต
    • iframe์„ ์ด์šฉํ•œ ๊ธฐ์ฐจ/๋ฒ„์Šค ์‹œ๊ฐ„ํ‘œ ์กฐํšŒ
  • ์—ฌํ–‰ ๊ณ„ํš ์„ธ์šฐ๊ธฐ

    • ๊ด€๊ด‘์ง€ ์ •๋ณด ๊ณต๊ณต๋ฐ์ดํ„ฐ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๊ด€๊ด‘์ง€, ์ˆ™๋ฐ•, ๋ ˆํฌ์ธ , ๋ฌธํ™”์‹œ์„ค, ์Œ์‹์ , ์‡ผํ•‘ ์ •๋ณด์— ๋Œ€ํ•œ ํ•„ํ„ฐ๋ง ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ์ œ๊ณต
    • ๋ถ€์กฑํ•œ ์œ„์น˜ ์ •๋ณด๋Š” Kakao ์žฅ์†Œ ๊ฒ€์ƒ‰ API๋ฅผ ์ด์šฉํ•˜์—ฌ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋Š” ์‹ ๊ทœ ์žฅ์†Œ ๋“ฑ๋ก ๊ธฐ๋Šฅ ์ œ๊ณต
    • Google Map์„ ํ™œ์šฉํ•œ ์ง€๋„ ๋งˆ์ปค ๊ธฐ๋Šฅ ์ œ๊ณต
  • ์—ฌํ–‰ ๊ณ„ํš ๊ด€๋ฆฌ

    • ๋‚ด ๊ณ„ํš ๋ฆฌ์ŠคํŠธ๋ฅผ ํ•œ ๋ˆˆ์— ๋ณผ ์ˆ˜ ์žˆ๋„๋ก ํ† ๊ธ€ ํ˜•์‹์˜ ํŽ˜์ด์ง€ ์ œ๊ณต
    • Google Map์˜ Polyline๊ณผ Marker, Kakao Mobility์˜ ๊ฒฝ๋กœ ์•ˆ๋‚ด API๋ฅผ ํ™œ์šฉํ•œ ๊ณ„ํš์˜ ์ตœ์  ๊ฒฝ๋กœ ์•ˆ๋‚ด๋ฅผ ์‹œ๊ฐ์ ์œผ๋กœ ์ œ๊ณต
    • ๊ณ„ํš ์ˆ˜์ • ๋ฐ ์‚ญ์ œ ๊ธฐ๋Šฅ ์ œ๊ณต
  • ์—ฌํ–‰์ง€ ๊ธฐ๋ฐ˜ ์ฑ„ํŒ…

    • ํ•ด๋‹น ์—ฌํ–‰์ง€์—์„œ ๋™ํ–‰์„ ๊ตฌํ•  ์ˆ˜ ์žˆ๋„๋ก RabbitMQ์™€ WebSocket, STOMP๋ฅผ ํ™œ์šฉํ•œ ์—ฌํ–‰์ง€ ๊ธฐ๋ฐ˜ ์ฑ„ํŒ… ๊ธฐ๋Šฅ ์ œ๊ณต
  • ์—ฌํ–‰ ๊ธฐ๋ก

    • ์—ฌํ–‰์ง€์™€ ๊ณ„ํš์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์‚ฌ์ง„๊ณผ ๊ฐ„๋‹จํ•œ ๊ธ€์„ ๋‚จ๊ธธ ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋ก ๊ธฐ๋Šฅ ์ œ๊ณต
    • Oracle Cloud Storage๋ฅผ ์ด์šฉํ•˜์—ฌ ์‚ฌ์ง„ ์—…๋กœ๋“œ



๐Ÿš€ Demo

์†์‰ฌ์šด ๊ฐ„ํŽธ ๋กœ๊ทธ์ธ (naver, kakao) ํ”„๋กœํ•„ ์ˆ˜์ •
๋Œ€์‹œ๋ณด๋“œ (ํ˜„์žฌ ๋‚ ์”จ, D-Day, ํ†ต๊ณ„, ์ถ”์ฒœ ์˜์ƒ ๋“ฑ) ๊ณ„ํš ์„ธ์šฐ๊ธฐ
๊ณ„ํš ์กฐํšŒ ์—ฌํ–‰์ง€ ์ฑ„ํŒ…
์—ฌํ–‰ ๊ธฐ๋ก ๋‚จ๊ธฐ๊ธฐ ์—ฌํ–‰ ๊ธฐ๋ก ๊ณต์œ  (ํ•˜์ด๋ผ์ดํŠธ)


๐Ÿง‘โ€๐Ÿคโ€๐Ÿง‘ ์—ญํ• 

imoge
Full-Stack
๐Ÿ‘‘์ด๋„ํ›ˆ

๐Ÿ”งSkills

Front-End

  • Vue.js
  • Vite
  • STOMP
  • WebSocket

Back-End

  • Java 17
  • Spring Boot
  • Spring Security
  • Spring Data JPA
  • MyBatis
  • MySQL
  • Spring AMQP (RabbitMQ)

Infrastructure

  • Oracl Cloud Infra (OCI)
    • Storage
    • Computing
  • Netlify



๐ŸขArchitecture

์‹œ์Šคํ…œ์•„ํ‚คํ…์ฒ˜



ERD

image

About

๐Ÿš„ ์—ฌํ–‰์ง€๋ฅผ ์ฐพ๊ณ , ๊ณ„ํš์„ ์„ธ์šฐ๊ณ , ๊ธฐ๋ก์„ ๋‚จ๊ธฐ๋ฉฐ ์‚ฌ๋žŒ๋“ค๊ณผ ์†Œํ†ตํ•˜๋Š” ์—ฌํ–‰ ํ”Œ๋ž˜๋„ˆ + ์—ฌํ–‰ SNS ํ”„๋กœ์ ํŠธ ๐Ÿš„

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published