Skip to content

๐ŸŽ๊ธฐํ”„ํ‹ฐ์ฝ˜ ๊ด€๋ฆฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ "์•„์ฐจ์ฐจ"๐ŸŽ

Notifications You must be signed in to change notification settings

tfer2442/achacha

Repository files navigation

๐Ÿ†์‚ผ์„ฑ ์ฒญ๋…„ SWยทAI ์•„์นด๋ฐ๋ฏธ(SSAFY) 12th ์ž์œจ ํ”„๋กœ์ ํŠธ ์šฐ์ˆ˜์ƒ (2์œ„)๐Ÿ†

๊ธฐํ”„ํ‹ฐ์ฝ˜ ๊ด€๋ฆฌ ๋ฐ ๊ณต์œ  ์•ฑ '์•„์ฐจ์ฐจ!'

๊ธฐํ”„ํ‹ฐ์ฝ˜ ๊ด€๋ฆฌ ๋ฐ ๊ณต์œ  ์•ฑ ์„œ๋น„์Šค "์•„์ฐจ์ฐจ"
๊ธฐํ”„ํ‹ฐ์ฝ˜ ๊ด€๋ฆฌ๋ถ€ํ„ฐ ๋งŒ๋ฃŒ ์•Œ๋ฆผ๊นŒ์ง€, ์•„์ฐจ์ฐจ ํ•˜๋‚˜๋กœ ๊ฐ„ํŽธํ•˜๊ฒŒ

๐Ÿ“‘ ๋ชฉ์ฐจ

  1. ํ”„๋กœ์ ํŠธ ์†Œ๊ฐœ
  2. ํ•ต์‹ฌ ๊ธฐ๋Šฅ
  3. ๊ธฐ์ˆ  ํŠน์ง•
  4. ๊ธฐ์ˆ  ์Šคํƒ
  5. ์‹œ์Šคํ…œ ์•„ํ‚คํ…์ฒ˜
  6. ํŒ€์› ์ •๋ณด
  7. ๋งํฌ

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

์•„์ฐจ์ฐจ(Achacha)๋Š” ํฉ์–ด์ ธ ์žˆ๋Š” ๊ธฐํ”„ํ‹ฐ์ฝ˜์„ ํ•œ ๊ณณ์—์„œ ๊ฐ„ํŽธํ•˜๊ฒŒ ๊ด€๋ฆฌํ•˜๊ณ ,
๋” ๊ฐ€์น˜ ์žˆ๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๋•๋Š” ๊ธฐํ”„ํ‹ฐ์ฝ˜ ๊ด€๋ฆฌ ๋ฐ ๊ณต์œ  ๋ชจ๋ฐ”์ผ ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค.

๋ฐ›์€ ๊ธฐํ”„ํ‹ฐ์ฝ˜์„ ์ž๋™์œผ๋กœ ๋“ฑ๋กํ•˜๊ณ  ์•Œ๋œฐํ•˜๊ฒŒ ๊ด€๋ฆฌํ•˜๋ฉฐ, ์œ ํšจ๊ธฐ๊ฐ„ ์•Œ๋ฆผ๋ถ€ํ„ฐ
๊ฐ€์กฑยท์นœ๊ตฌ์™€์˜ ๊ณต์œ , ์ฃผ๋ณ€ ์‚ฌ๋žŒ๋“ค๊ณผ์˜ ๋‚˜๋ˆ”๊นŒ์ง€ ์ƒˆ๋กœ์šด ์‚ฌ์šฉ ๊ฒฝํ—˜์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๋ฒ„๋ ค์ง€๋Š” ๊ธฐํ”„ํ‹ฐ์ฝ˜์„ ์ค„์ด๊ณ  ๋” ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด ํ˜œํƒ์„ ๋ˆ„๋ฆด ์ˆ˜ ์žˆ๋„๋ก ๋•๋Š” ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค.

ํ”„๋กœ์ ํŠธ ์ •๋ณด

  • ์„œ๋น„์Šค๋ช…: ์•„์ฐจ์ฐจ(Achacha)
  • ํŒ€๋ช…: ์œผ๋ผ์ฐจ์ฐจ
  • ๊ฐœ๋ฐœ ๊ธฐ๊ฐ„: 2025.04.14 ~ 2025.05.22 (6์ฃผ)
  • ๊ฐœ๋ฐœ ์ธ์›: 6๋ช… / ๋ฐฑ์—”๋“œ(3), ํ”„๋ก ํŠธ(3)

โœจ ํ•ต์‹ฌ ๊ธฐ๋Šฅ

๐Ÿ  ํ™ˆ & ๋“ฑ๋ก

์˜จ๋ณด๋”ฉ ํ™”๋ฉด

ํ™ˆ ํ™”๋ฉด

์ž๋™ ๋“ฑ๋ก

ํ†ตํ•ฉ ๊ด€๋ฆฌ

๐Ÿ’ณ ์‚ฌ์šฉ & ๋ฐ”์ฝ”๋“œ

๊ธˆ์•กํ˜• ์‚ฌ์šฉ

์ƒํ’ˆํ˜• ์‚ฌ์šฉ

์Šค์™€์ดํ”„ ์ œ์Šค์ฒ˜

๋ฐ”์ฝ”๋“œ ํ™•๋Œ€

๐ŸŽ ๊ณต์œ  & ๋‚ด ์ฃผ๋ณ€ ๋งค์žฅ

์„ ๋ฌผํ•˜๊ธฐ

์„ ๋ฌผ ์ˆ˜์‹ 

๋ฟŒ๋ฆฌ๊ธฐ

๋‚ด ์ฃผ๋ณ€ ๋งค์žฅ

๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ ์‰์–ด๋ฐ•์Šค

์‰์–ด๋ฐ•์Šค ์ƒ์„ฑ

์‰์–ด๋ฐ•์Šค ์„ค์ •

์‰์–ด๋ฐ•์Šค ์ž…์žฅ

๐Ÿ”” ์•Œ๋ฆผ & ์›Œ์น˜

์œ ํšจ๊ธฐ๊ฐ„ ๋งŒ๋ฃŒ ์•Œ๋ฆผ

์ฃผ๋ณ€ ๋งค์žฅ ์•Œ๋ฆผ

์•Œ๋ฆผ ๋ชฉ๋ก

์›Œ์น˜ ๋ฉ”์ธ

์›Œ์น˜ ๋ฟŒ๋ฆฌ๊ธฐ


๐Ÿ”ฌ ๊ธฐ์ˆ  ํŠน์ง•

๐ŸŽฏ ํ•ต์‹ฌ ๊ธฐ์ˆ 

OCR + LangChain ์ž๋™ ์ธ์‹

๊ธฐํ”„ํ‹ฐ์ฝ˜ ๋“ฑ๋ก ์ž๋™ํ™”๋ฅผ ์œ„ํ•œ ์ง€๋Šฅํ˜• ํ…์ŠคํŠธ ์ธ์‹ ๋ฐ ๋ถ„๋ฅ˜ ์‹œ์Šคํ…œ

  • Naver Clova OCR: ๊ธฐํ”„ํ‹ฐ์ฝ˜ ์ด๋ฏธ์ง€์—์„œ ๋ชจ๋“  ํ…์ŠคํŠธ๋ฅผ ์ •ํ™•ํ•˜๊ฒŒ ์ถ”์ถœ
  • LangChain + GPT: ์ถ”์ถœ๋œ ํ…์ŠคํŠธ๋ฅผ ํ”„๋กฌํ”„ํŠธ ์—”์ง€๋‹ˆ์–ด๋ง์„ ํ†ตํ•ด ๋ธŒ๋žœ๋“œ, ๋ฐ”์ฝ”๋“œ, ์ƒํ’ˆ๋ช…, ์œ ํšจ๊ธฐ๊ฐ„ ๋“ฑ์œผ๋กœ ์ž๋™ ๋ถ„๋ฅ˜
  • ์‚ฌ์šฉ์ž ๊ฒฝํ—˜: ๋ณ„๋„ ์ž…๋ ฅ ์—†์ด ์ด๋ฏธ์ง€๋งŒ์œผ๋กœ ๊ฐ„ํŽธํ•œ ๊ธฐํ”„ํ‹ฐ์ฝ˜ ๋“ฑ๋ก ๊ฐ€๋Šฅ
Geofencing ์œ„์น˜ ๊ธฐ๋ฐ˜ ์•Œ๋ฆผ

์œ„์น˜ ๊ธฐ๋ฐ˜ ์Šค๋งˆํŠธ ์•Œ๋ฆผ์„ ์œ„ํ•œ ๊ฐ€์ƒ ๊ฒฝ๊ณ„ ์„ค์ • ๊ธฐ์ˆ 

  • ๊ฐ€์ƒ ๊ฒฝ๊ณ„ ์„ค์ •: ๊ฐ ๋ธŒ๋žœ๋“œ ๋งค์žฅ์„ ์ค‘์‹ฌ์œผ๋กœ ๋ฐ˜๊ฒฝ 50m์˜ ๊ฐ€์ƒ ์šธํƒ€๋ฆฌ ์ƒ์„ฑ
  • ํšจ์œจ์ ์ธ ์œ„์น˜ ์ถ”์ : GPS ๋Œ€๋น„ ๋‚ฎ์€ ๋ฐฐํ„ฐ๋ฆฌ ์†Œ๋ชจ๋Ÿ‰์œผ๋กœ ์ง€์†์ ์ธ ๋ชจ๋‹ˆํ„ฐ๋ง
  • ์Šค๋งˆํŠธ ์—…๋ฐ์ดํŠธ: ์‚ฌ์šฉ์ž๊ฐ€ 100m ์ด์ƒ ์ด๋™ ์‹œ ์ฃผ๋ณ€ 500m ๋ฐ˜๊ฒฝ ๋งค์žฅ ์žฌ๊ฒ€์ƒ‰
  • ์ค‘๋ณต ์•Œ๋ฆผ ๋ฐฉ์ง€: ๋ธŒ๋žœ๋“œ๋ณ„ ์•Œ๋ฆผ ๊ฐ„๊ฒฉ ์ œ์–ด (ํฌ๊ทธ๋ผ์šด๋“œ 30๋ถ„, ๋ฐฑ๊ทธ๋ผ์šด๋“œ 2์‹œ๊ฐ„)
BLE ๊ทผ๊ฑฐ๋ฆฌ ํ†ต์‹ 

๊ทผ๊ฑฐ๋ฆฌ ๊ธฐํ”„ํ‹ฐ์ฝ˜ ๊ณต์œ ๋ฅผ ์œ„ํ•œ ์ €์ „๋ ฅ ๋ฌด์„  ํ†ต์‹  ๊ธฐ์ˆ 

  • ๊ธฐ๊ธฐ ํƒ์ง€: ๊ฐ ๊ธฐ๊ธฐ๊ฐ€ ์„œ๋น„์Šค UUID์™€ BLE ํ† ํฐ์„ ํŒจํ‚ท์œผ๋กœ ๊ด‘๊ณ ํ•˜์—ฌ ์ƒํ˜ธ ๋ฐœ๊ฒฌ
  • ํšจ์œจ์ ์ธ ํ†ต์‹ : ๋ฐ˜๊ฒฝ 100m ์ด๋‚ด์—์„œ 5์ดˆ๊ฐ„ ์ฃผ๋ณ€ ์‚ฌ์šฉ์ž ํƒ์ƒ‰
  • ์ €์ „๋ ฅ ์„ค๊ณ„: ๋ธ”๋ฃจํˆฌ์Šค ์ €์ „๋ ฅ ํ†ต์‹ ์œผ๋กœ ๋ฐฐํ„ฐ๋ฆฌ ๋ถ€๋‹ด ์ตœ์†Œํ™”
  • ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์ œํ•œ: ํฌ๊ทธ๋ผ์šด๋“œ์—์„œ๋งŒ ์ž‘๋™ํ•˜์—ฌ ๋ฐฐํ„ฐ๋ฆฌ ์†Œ๋ชจ ์ตœ์ ํ™”
MSA ์•Œ๋ฆผ ์„œ๋ฒ„ ๋ถ„๋ฆฌ

๋Œ€์šฉ๋Ÿ‰ ์•Œ๋ฆผ ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•œ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ์•„ํ‚คํ…์ฒ˜

  • MSA ๊ตฌ์กฐ: ๋ฉ”์ธ ์„œ๋ฒ„(๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง)์™€ ์•Œ๋ฆผ ์„œ๋ฒ„(์•Œ๋ฆผ ์ „์šฉ) ๋ถ„๋ฆฌ
  • RabbitMQ ๋ฉ”์‹œ์ง€ ํ: Push ๊ธฐ๋ฐ˜ ์ฆ‰์‹œ ์ „๋‹ฌ ๋ฐฉ์‹์œผ๋กœ ๋น„๋™๊ธฐ ์•Œ๋ฆผ ์ฒ˜๋ฆฌ
  • ์„ฑ๋Šฅ ๊ฐœ์„ : ๋™๊ธฐ ๋ฐฉ์‹ ๋Œ€๋น„ ์•Œ๋ฆผ ์ „์†ก ์†๋„ 2๋ฐฐ ํ–ฅ์ƒ (10์ดˆ โ†’ 4.8์ดˆ)
  • ํ™•์žฅ์„ฑ: ์•Œ๋ฆผ ์„œ๋ฒ„ ๋…๋ฆฝ์  ํ™•์žฅ์œผ๋กœ ํ–ฅํ›„ ๋ถ€ํ•˜ ๋ถ„์‚ฐ ์šฉ์ด

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

Frontend

  • Mobile: React Native 0.76.9, Expo 52.0.46
  • Web: React 19.1.0
  • Language: JavaScript, Kotlin 1.9.25
  • Platform: Android SDK 35
  • Runtime: Node.js 22.15.0
  • External API: Kakao Maps, Google ML Kit

Backend

  • Framework: Spring Boot 3.4.5, FastAPI 0.108.0
  • Language: Java 17, Python 3.10
  • Database: MySQL 8.0.36, MongoDB 6.0
  • Message Queue: RabbitMQ 4.1
  • AI: LangChain 0.0.352, OpenAI GPT-4.1-mini
  • API: Kakao Login OAuth, Naver Clova OCR
  • Infra: Docker Compose 3.8, Nginx 1.18.0, Jenkins 2.504.1

๐Ÿข ์‹œ์Šคํ…œ ์•„ํ‚คํ…์ฒ˜

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

CI/CD ์•„ํ‚คํ…์ฒ˜


๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ ํŒ€์› ์ •๋ณด

๐Ÿง‘โ€๐Ÿ’ป ์ด๋ฆ„ ๐Ÿ† ์—ญํ•  ๐Ÿš€ ์ด๋ฉ”์ผ์ฃผ์†Œ
์•ˆ์ˆ˜์ง„ ๐Ÿ”ง Backend asj7090@gmail.com
๋ฅ˜์žฌ๋ฌธ ๐Ÿ”ง Backend woans5970@naver.com
์กฐ๋Œ€์„ฑ ๐Ÿ”ง Backend tfer2442@naver.com
์‹ ํ•ด์ธ ๐ŸŽจ Frontend godls0215@naver.com
๋ฐ•์ค€์ˆ˜ ๐ŸŽจ Frontend koup28@naver.com
์ •์ฃผ์€ ๐ŸŽจ Frontend jooeun0807@naver.com

๐Ÿ”— ๋งํฌ

About

๐ŸŽ๊ธฐํ”„ํ‹ฐ์ฝ˜ ๊ด€๋ฆฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ "์•„์ฐจ์ฐจ"๐ŸŽ

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 6