/EyesOn

AI Project for blind in SSAFY

Primary LanguageKotlin

๐Ÿ‘๏ธ EyesOn

โ€ โ€

โ€[์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์•„์ด์ฝ˜]โ€โ€โ€โ€โ€โ€โ€โ€[Eyes On ๋กœ๊ณ _1]โ€โ€โ€โ€โ€โ€โ€โ€โ€โ€โ€โ€โ€โ€โ€[Eyes On ๋กœ๊ณ _2]

EyesOn ํ”„๋กœ์ ํŠธ๋Š” ์‹œ๊ฐ์žฅ์• ์ธ ๋ฐ ์ €์‹œ๋ ฅ์ž๋ฅผ ์œ„ํ•œ ๋ณด์กฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ž…๋‹ˆ๋‹ค.

์‹œ๊ฐ ์žฅ์• ์˜ 92%๋Š” ํ›„์ฒœ์ ์ด๋ฉฐ, ์ด๋“ค์˜ 90%๋Š” ์ ์ž๋ฅผ ์ฝ์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ์ธ๋„์˜ ๋†’์ด๊ฐ€ ๋‚ฎ์€ ์žฅ์• ๋ฌผ๋“ค์€ ํฐ์ง€ํŒก์ด๋กœ๋„ ๊ฐ์ง€ํ•˜๊ธฐ ์–ด๋ ค์›Œ ํฐ ์‚ฌ๊ณ ๋ฅผ ์•ผ๊ธฐํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ณดํ–‰ ์ค‘ ์œ„ํ—˜๊ณผ ์ƒํ™œ ์† ๋ถˆํŽธํ•จ์„ ์กฐ๊ธˆ์ด๋‚˜๋งˆ ํ•ด์†Œํ•  ์ˆ˜ ์žˆ๋„๋ก ์ €ํฌ๋Š”

๐Ÿ’ก ์‹œ๊ฐ์žฅ์• ์ธ์˜ ๋ˆˆ[:Eyes] ์„ ๋œจ๊ฒŒ[:On] ํ•ด์ฃผ๋‹ค. ๐Ÿ’ก

๋ผ๋Š” ์˜๋ฏธ์˜ Eyes On(์•„์ด์ฆˆ ์˜จ) ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

ERD

์‚ฌ์šฉ์ž, ์—”์ ค, ๋ฏผ์› ๊ธฐ๋Šฅ์ด ์œ ๊ธฐ์ ์œผ๋กœ ์—ฐ๊ฒฐ๋˜์–ด์žˆ๊ณ ,

๊ทธ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ํ™œ์šฉํ•˜๊ธฐ ์œ„ํ•ด ERD๋ฅผ ์ž‘์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค.

์‚ฌ์šฉ ๊ธฐ์ˆ 

ํ”„๋กœ์ ํŠธ์—์„œ ์‚ฌ์šฉ๋œ ๊ธฐ์ˆ ๋“ค์ž…๋‹ˆ๋‹ค.

ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ๋„

ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ๋„ ์ž…๋‹ˆ๋‹ค.

๋ฌธ์„œ

๐Ÿ“ฑAndroid

๋””๋ ‰ํ„ฐ๋ฆฌ ๊ตฌ์กฐ๋„

๐Ÿ“AOS
โ”œโ”€โ”€๐Ÿ“presentation
โ”‚ โ”œโ”€โ”€๐Ÿ“base
โ”‚ โ”œโ”€โ”€๐Ÿ“di
โ”‚ โ”œโ”€โ”€๐Ÿ“module
โ”‚ โ”œโ”€โ”€๐Ÿ“service
โ”‚ โ”œโ”€โ”€๐Ÿ“util
โ”‚ โ”œโ”€โ”€๐Ÿ“view
โ”‚ โ”‚ โ”œโ”€โ”€๐Ÿ“binding
โ”‚ โ”‚ โ”œโ”€โ”€๐Ÿ“angel
โ”‚ โ”‚ โ”œโ”€โ”€๐Ÿ“blind
โ”‚ โ”‚ โ”œโ”€โ”€๐Ÿ“intro
โ”‚ โ”‚ โ”œโ”€โ”€๐Ÿ“loading
โ”‚ โ”‚ โ”œโ”€โ”€๐Ÿ“login
โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€๐Ÿ“join
โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€๐Ÿ“login
โ”œโ”€โ”€๐Ÿ“domain
โ”‚ โ”œโ”€โ”€๐Ÿ“base
โ”‚ โ”œโ”€โ”€๐Ÿ“model
โ”‚ โ”œโ”€โ”€๐Ÿ“repository
โ”‚ โ”œโ”€โ”€๐Ÿ“usecase
โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€๐Ÿ“complaints
โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€๐Ÿ“help
โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€๐Ÿ“noti
โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€๐Ÿ“user
โ”‚ โ”œโ”€โ”€๐Ÿ“utils
โ”œโ”€โ”€๐Ÿ“data
โ”‚ โ”œโ”€โ”€๐Ÿ“api
โ”‚ โ”œโ”€โ”€๐Ÿ“datasource
โ”‚ โ”‚ โ”œโ”€โ”€๐Ÿ“paging
โ”‚ โ”œโ”€โ”€๐Ÿ“mapper
โ”‚ โ”œโ”€โ”€๐Ÿ“model
โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€๐Ÿ“entity
โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€๐Ÿ“request
โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€๐Ÿ“response
โ”‚ โ”œโ”€โ”€๐Ÿ“repository(Impl)
โ”‚ โ”œโ”€โ”€๐Ÿ“utils
โ”œโ”€โ”€๐Ÿ“mlkit
โ”‚ โ”œโ”€โ”€๐Ÿ“objectdetecor
โ”‚ โ”œโ”€โ”€๐Ÿ“textdetector
โ”œโ”€โ”€๐Ÿ“webrtc
โ”‚ โ”œโ”€โ”€๐Ÿ“constants
โ”‚ โ”œโ”€โ”€๐Ÿ“observers
โ”‚ โ”œโ”€โ”€๐Ÿ“openvidu
โ”‚ โ”œโ”€โ”€๐Ÿ“utils
โ”‚ โ”œโ”€โ”€๐Ÿ“websocket
โ”œโ”€โ”€๐Ÿ“arcore
โ”‚ โ”œโ”€โ”€๐Ÿ“common
โ”‚ โ”œโ”€โ”€๐Ÿ“rendering

์•„ํ‚คํ…์ฒ˜

์•ˆ๋“œ๋กœ์ด๋“œ๋Š” ํด๋ฆฐ ์•„ํ‚คํ…์ฒ˜๋ฅผ ๋„์ž…ํ–ˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ’ฝBACK-END

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

๐Ÿ“BACK
โ”œโ”€โ”€๐Ÿ“main
โ”‚ โ”œโ”€โ”€๐Ÿ“java
โ”‚ โ”‚ โ”œโ”€โ”€๐Ÿ“config
โ”‚ โ”‚ โ”œโ”€โ”€๐Ÿ“controller
โ”‚ โ”‚ โ”œโ”€โ”€๐Ÿ“dto
โ”‚ โ”‚ โ”œโ”€โ”€๐Ÿ“entity
โ”‚ โ”‚ โ”œโ”€โ”€๐Ÿ“jwt
โ”‚ โ”‚ โ”œโ”€โ”€๐Ÿ“mapper
โ”‚ โ”‚ โ”œโ”€โ”€๐Ÿ“repository
โ”‚ โ”‚ โ”œโ”€โ”€๐Ÿ“service
โ”‚ โ”‚ โ”œโ”€โ”€๐Ÿ“util
โ”‚ โ”œโ”€โ”€๐Ÿ“resources
โ”‚ โ”‚ โ”œโ”€โ”€๐Ÿ“firebase
โ”‚ โ”‚ โ”œโ”€โ”€๐Ÿ“templates

โญ์ฃผ์š”๊ธฐ๋Šฅ

โค ํšŒ์›๊ฐ€์ž…

๐Ÿค ์—”์ ค

๐Ÿ’œ ์‹œ๊ฐ์žฅ์• ์ธ

ํŒ€์› ์†Œ๊ฐœ

๐Ÿ€ TEAM EyesOn



๊น€์ง€์ˆ˜
(Back-End)



๋ฐฐํ˜œ์—ฐ
(Back-End)



๋ฐ•์ข…์šฑ
(Back-End)



์ •๋ด‰์ง„
(AOS)



๊น€๋ช…์ง€
(AOS)



๊ถŒ์šฉ์ค€
(AOS)

๐Ÿ‘‘ํŒ€์žฅ
BackEnd
AI ์ „์ฒ˜๋ฆฌ
๋ถ€ํŒ€์žฅ
BackEnd
Infra
AI ์ „์ฒ˜๋ฆฌ
BackEnd
AI ์ „์ฒ˜๋ฆฌ
Android
Infra
Android Android


ํ”„๋กœ์ ํŠธ ๊ตฌ์„ฑ ์š”์†Œ

Android ๊ตฌ์„ฑ ์š”์†Œ

Package Version Comment
Dagger Hilt 2.44 ์˜์กด์„ฑ ์ฃผ์ž… ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
Retrofit 2.9.0 HTTP ํ†ต์‹  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
OKHttp 4.10.0 HTTP ํ†ต์‹  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
Coroutines 1.6.4 ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
Navigation 2.5.3 ํ™”๋ฉด ์ด๋™ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
PlayServicesAuth 20.3.0 Google OAuth
AR Core 1.34.0 AR ์‚ฌ์šฉ์„ ์œ„ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
Tensorflow-lite-task-vision 0.4.0 Object Detection
Tensorflow-lite-gpu 2.9.0 Object Detection์— GPU ์‚ฌ์šฉ
ML Kit 18.5.0 Text Recognition ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
Firebase Cloud Messaigng 23.1.0 PUSH ์•Œ๋ฆผ ์‚ฌ์šฉ์„ ์œ„ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
Paging 3 3.1.1 Pagination ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
WebRTC 1.0.32006 ์˜์ƒ ํ†ตํ™”๋ฅผ ์œ„ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
Glide 4.13.2 ์ด๋ฏธ์ง€ ๋กœ๋”ฉ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
AndroidViewAnamations 2.4 ๋ทฐ ์• ๋‹ˆ๋ฉ”์ด์…˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
Lottie 5.2.0 ๋ทฐ ์• ๋‹ˆ๋ฉ”์ด์…˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
Room 2.4.3 ๋กœ์ปฌ Database
PlayServicesLocation 21.0.1 GPS ์‚ฌ์šฉ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
MPAndroidChart 3.1.0 ๊ทธ๋ž˜ํ”„, ์ฐจํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

Backend ๊ตฌ์„ฑ ์š”์†Œ

๊ธฐ์ˆ  ์Šคํƒ Version Comment
OpenJDK 11 Java vendor ์‚ฌ์šฉ
SpringBoot 2.7.3 Rest API ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ
Gradle 7.5 ํ”„๋กœ์ ํŠธ๋ฅผ ๋นŒ๋“œํ•˜๊ณ  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๊ด€๋ฆฌ ๋„๊ตฌ
MySQL 8.0.30 DB
JPA 2.7.3 ์„œ๋ฒ„์™€ DB์˜ ์—ฐ๋™์„ ์œ„ํ•ด ์‚ฌ์šฉ
JWT 0.11.2 ๋กœ๊ทธ์ธ ์œ ์ € ์ธ์ฆ์„ ์œ„ํ•ด ํ† ํฐ ์‚ฌ์šฉ
Spring Security 2.7.3 ์†์‰ฌ์šด ๋ณด์•ˆ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•ด ์‚ฌ์šฉ
Swagger 2.9.2 API ๋ฌธ์„œํ™”๋ฅผ ์œ„ํ•ด ์‚ฌ์šฉ
Ubuntu 20.04 LTS ์„œ๋น„์Šค ์ œ๊ณต์„ ์œ„ํ•ด ๋ฆฌ๋ˆ…์Šค ์„œ๋ฒ„ ๊ตฌ์ถ•
Docker latest ์ปจํ…Œ์ด๋„ˆํ™” ๋œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ด€๋ฆฌ
Jenkins latest ์ž๋™ํ™” ๋ฐฐํฌ ๋ฐ ๋นŒ๋“œ
Nginx latest Vue ํด๋ผ์ด์–ธํŠธ ์›น ์„œ๋ฒ„ ์‚ฌ์šฉ
GoogleApi 1.30.10 ๊ตฌ๊ธ€ ๋กœ๊ทธ์ธ ์‚ฌ์šฉ
FirebaseAdmin 6.8.1 FirebaseCloudMessaging ์‚ฌ์šฉ
MapStruct 1.4.2 Mapper ํ™œ์šฉ
AWS 2.3.1 AWS S3
Jasypt 3.0.4 ํ”„๋กœํผํ‹ฐ ์•”ํ˜ธํ™”

AI ๊ตฌ์„ฑ ์š”์†Œ

๊ธฐ์ˆ  ์Šคํƒ Version Comment
Tensorflow 2.8.0 AI ๋ชจ๋ธ ํ•™์Šต
Tensorflow-lite 2.9.0 ์•ˆ๋“œ๋กœ์ด๋“œ ๊ฐ์ฒด ํƒ์ง€
CudaToolkit 11.3.1 ํ•™์Šต ์‹œ GPU ์‚ฌ์šฉ
CuDNN 8.4.1.50 ํ•™์Šต ์‹œ GPU ์‚ฌ์šฉ
EfficientDet 1 ๊ฐ์ฒด ํƒ์ง€ ๋ชจ๋ธ
ML Kit 18.5 ํ…์ŠคํŠธ ์ธ์‹ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ