Skip to content

CactusKK/PETPAL

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

2 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

PetPal

favicon.jpg

ํ”„๋กœ์ ํŠธ ์†Œ๊ฐœ

550๋งŒ ๋ฐ˜๋ ค๊ฐ€๊ตฌ๋ฅผ ์œ„ํ•œ ์™ธ์ถœ ์‹œ ์ง‘์— ํ˜ผ์ž ๋‚จ์•„์žˆ๋Š” ๋ฐ˜๋ ค๊ฒฌ์„ ๋Œ๋ด์ฃผ๋Š” ์Šค๋งˆํŠธ ํ™ˆ ๋ชจ๋นŒ๋ฆฌํ‹ฐ ์„œ๋น„์Šค

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

2024.03.19 ~ 2024.04.05

ํŒ€์›


๐Ÿ‘‘๊น€ํƒœ๋ฒ”

๊น€์Šน๋ฐฐ

์†ก์˜์ฃผ

์†ก์ค€์„

๊น€๋ด‰๊ท 

์—ฐ์ •ํ 

[Embedded]

[Embedded]

[Embedded]

[FE]

[BE] [Infra]

[BE] [Infra]

Youtube

image.png

๋งํฌ

https://j10a209.p.ssafy.io/

Notion

ERD Cloud

Figma


๊ฐœ๋ฐœ ํ™˜๊ฒฝ / ๊ธฐ์ˆ  ์Šคํƒ

COMMON

FRONT

BACK

IOT

DEV TOOL & etc

๊ธฐ๋Šฅ ๋ฐ ์‹œ์—ฐ

๊ธฐ๋Šฅ

1. A* ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฒฝ๋กœ ํƒ์ƒ‰ ์‹คํ–‰ ๋ฐ ์ž์œจ ์ฃผํ–‰
2.๊ฐ€์ „ ์—ฐ๋™ ํ›„์—๋Š” ๋ฒ„ํŠผ ํด๋ฆญ ํ•œ๋ฒˆ์œผ๋กœ ์™„์ „ ์ž๋™ํ™”
3. Stomp & RabbitMQ ์ค‘์‹ฌ Socket ํ†ต์‹ 
4. ROS์—์„œ ๋„˜์–ด์˜ค๋Š” ์ด๋ฏธ์ง€ ๋ฐ”์ด๋„ˆ๋ฆฌ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•ด Client์—์„œ ๋ฒ„ํผ ๊ตฌํ˜„ ๋ฐ ๋ Œ๋”๋ง ๋ ˆ์ดํ„ด์‹œ ๊ด€๋ฆฌ๋กœ ์˜์ƒ๊ตฌํ˜„
5. YOLOv8 ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ์‹œ์Šคํ…œ ์ „์šฉ ๊ฐ์ฒด ๊ฐ์ง€ ๋ชจ๋ธ ํ•™์Šต
6. ๊ฐ์ฒด ๊ฐ์ง€ ๋ชจ๋ธ์„ ํ†ตํ•ด ๊ฐ์ง€๋œ ๊ฐ์ฒด์˜ ํด๋ž˜์Šค์— ๋”ฐ๋ฅธ ์ธํ„ฐ๋ŸฝํŠธ ์ƒ์„ฑ
7. ์Šค์ผ€์ค„๋ง์„ ํ†ตํ•œ IoT ๊ธฐ๊ธฐ ์ œ์–ด๋กœ ์‹ค๋‚ด ํ™˜๊ฒฝ ์…‹ํŒ…

ํŠน์žฅ์ 

1. ๋ฐ˜๋ ค๊ฒฌ์„ ์œ„ํ•œ ํ™˜๊ฒฝ ์กฐ์„ฑ ์‹œ์Šคํ…œ : ์‹œ๊ฐ„๊ณผ ๋‚ ์”จ์— ๋”ฐ๋ผ IoT๊ธฐ๊ธฐ๋ฅผ ์ œ์–ดํ•˜์—ฌ, ๋ฐ˜๋ ค๊ฒฌ์ด ํŽธ์•ˆํ•จ์„ ๋А๋ผ๋Š” ์‹ค๋‚ด ํ™˜๊ฒฝ ์กฐ์„ฑ
2. ์นด๋ฉ”๋ผ๋กœ ๋ฐ˜๋ ค๊ฒฌ์„ ์ธ์‹ํ•˜๊ณ  ํŠธ๋ž˜ํ‚นํ•˜์—ฌ ๋ฐ˜๋ ค๊ฒฌ์ด ์–ด๋””์— ์žˆ๋“  ์ŠคํŠธ๋ฆฌ๋ฐ์„ ํ†ตํ•ด ๊ฒฌ์ฃผ๊ฐ€ ๋ฐ˜๋ ค๊ฒฌ์˜ ๋ชจ์Šต์„ ์•ฑ์œผ๋กœ ํ™•์ธ ๊ฐ€๋Šฅ
3. ๋ฐ˜๋ ค๊ฒฌ ํŠธ๋ž˜ํ‚น์„ ํ•˜๋ฉฐ ์ฃผ๋ณ€์— ์œ„ํ—˜ ๋ฌผ์ฒด๋ฅผ ์ธ์‹ํ•˜๊ณ  ์ฒ˜๋ฆฌ๋ฅผ ํ•˜์—ฌ ์•ˆ์ „ ์‚ฌ๊ณ  ์˜ˆ๋ฐฉ
4. ์‚ฌ์šฉ์ž๊ฐ€ ๊ฑฐ์ฃผ ๊ณต๊ฐ„์˜ ์ง€๋„ ์ด๋ฏธ์ง€๋ฅผ ํ†ตํ•ด ํ•œ๋ˆˆ์— ๋กœ๋ด‡์˜ ์œ„์น˜์™€ ๋ฐ˜๋ ค๊ฒฌ์˜ ๋งˆ์ง€๋ง‰ ๋ฐœ๊ฒฌ ์œ„์น˜ ํ™•์ธ ๊ฐ€๋Šฅ
5. ์ž๋™์œผ๋กœ ๋™์ž‘ํ•˜๋Š” ๋กœ๋ด‡์˜ ํ™œ๋™ ๋‚ด์—ญ์„ ์•ฑ์˜ ์•Œ๋ฆผ์„ ํ†ตํ•ด ํ™•์ธ ๊ฐ€๋Šฅ

Home Scan

a. [APP] - ํ•˜๋‹จ ๋ฐ”์—์„œ โ€˜๋ฉ”๋‰ดโ€™ - โ€˜ํ™ˆ ์Šค์บ”โ€™ ์‹คํ–‰
๋ฉ”๋‰ด.jpg

IoT ๊ธฐ๊ธฐ ๋“ฑ๋ก

a. ๋ชจ๋นŒ๋ฆฌํ‹ฐ ๋กœ๋ด‡์„ ๋“ฑ๋กํ•  IoT ๊ธฐ๊ธฐ ๊ทผ์ฒ˜์— ๋ฐฐ์น˜
b. [APP] - ํ•˜๋‹จ ๋ฐ”์—์„œ โ€˜๋ฉ”๋‰ดโ€™ - โ€˜๊ฐ€์ „ ๊ด€๋ฆฌโ€™ - ์šฐ์ธก ํ•˜๋‹จ โ€˜+โ€™ ๋ฒ„ํŠผ ํด๋ฆญ
c. ๋ชจ๋นŒ๋ฆฌํ‹ฐ ๊ธฐ๊ธฐ์™€ IoT ๊ธฐ๊ธฐ ํ†ต์‹  ๋Œ€๊ธฐ
d. IoT ๊ธฐ๊ธฐ ๋“ฑ๋ก ์™„๋ฃŒ

IoT ๊ธฐ๊ธฐ ์Šค์ผ€์ค„๋ง

a. [APP] - ํ•˜๋‹จ ๋ฐ”์—์„œ โ€˜์˜ˆ์•ฝโ€™ - ์šฐ์ธก ํ•˜๋‹จ โ€˜+โ€™ ๋ฒ„ํŠผ ํด๋ฆญ
b. ๋ฐฉ, ๋‚ ์งœ, ์‹œ๊ฐ„ ์„ ํƒ
c. โ€˜์ €์žฅโ€™
์Šค์ผ€์ค„.jpg

IoT ๊ธฐ๊ธฐ ์‹ค์‹œ๊ฐ„ ์ œ์–ด

a. [APP] - ํ•˜๋‹จ ๋ฐ”์—์„œ โ€˜์ œ์–ดโ€™
b. ์ขŒ์ธก ์ƒ๋‹จ โ€˜๋ฐฉโ€™ ์„ ํƒ
c. ๋“ฑ๋ก๋œ ๊ฐ€์ „ ์•„์ด์ฝ˜ ํด๋ฆญ
๊ธฐ๊ธฐ์ œ์–ดํ™”๋ฉด.jpg ![๊ธฐ๊ธฐ ์ œ์–ด.jpg](asset/๊ธฐ๊ธฐ ์ œ์–ด.jpg)

๋ชจ๋“œ ์ „ํ™˜

a. [APP] - ํ•˜๋‹จ ๋ฐ”์—์„œ โ€˜ํ™ˆโ€™ - ์šฐ์ธก ์ƒ๋‹จ โ€˜์ˆœ์ฐฐ/ํŠธ๋ž˜ํ‚น ๋ชจ๋“œโ€™ ๋ฒ„ํŠผ ํด๋ฆญ
b. ๋ชจ๋“œ ์ „ํ™˜ ์„ฑ๊ณต ๋ฉ”์„ธ์ง€ ํ™•์ธ

ํ„ฐํ‹€๋ด‡ ์™„์ „ ์ž์œจ์ฃผํ–‰

๋“œ๋ฆฌํ”„ํŠธ

๋“œ๋ฆฌํ”„ํŠธ.gif

์ถฉ๋Œ๋ฐฉ์ง€1

์ถฉ๋Œ๋ฐฉ์ง€1.gif

์ถฉ๋Œ๋ฐฉ์ง€2

์ถฉ๋Œ๋ฐฉ์ง€2.gif

์ŠคํŠธ๋ฆฌ๋ฐ ๋ฐ ๋งต ํ™•์ธ

a. [APP] - ํ•˜๋‹จ ๋ฐ”์—์„œ โ€˜ํ™ˆโ€™ - ์ขŒ์ธก ์ƒ๋‹จ โ€˜ONโ€™ ๋ฒ„ํŠผ ํด๋ฆญ
b. ์—ฐ๊ฒฐ๋œ ๋ชจ๋นŒ๋ฆฌํ‹ฐ ๊ธฐ๊ธฐ์˜ ์นด๋ฉ”๋ผ ์˜์ƒ๊ณผ ์Šค์บ”๋œ ์ง€๋„ ํ™•์ธ
![์‹ค์‹œ๊ฐ„ ์˜์ƒ.jpg](asset/์‹ค์‹œ๊ฐ„ ์˜์ƒ.jpg) ์Šค์บ”๋งต.jpg

์ŠคํŠธ๋ฆฌ๋ฐ

์‹ค์‹œ๊ฐ„์ŠคํŠธ๋ฆฌ๋ฐ.gif

์•Œ๋ฆผ ํ™•์ธ

a. [APP] - ํ•˜๋‹จ ๋ฐ”์—์„œ โ€˜์•Œ๋ฆผโ€™
b. ๋ฐ›์€ ์•Œ๋ฆผ ๋ชฉ๋ก ํ™•์ธ
c. ์•Œ๋ฆผ ๋ฉ”์„ธ์ง€ ํด๋ฆญ - ์•Œ๋ฆผ ๋ฉ”์„ธ์ง€ ๊ด€๋ จ ์ด๋ฏธ์ง€ ํ™•์ธ

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

์•„ํ‚คํ…์ณ.drawio.png

์™€์ด์–ดํ”„๋ ˆ์ž„

image.png

ERD

ERD.png

App Download Page

image.png

๋กœ๊น… ์‹œ์Šคํ…œ

![๋กœ๊น… ์‹œ์Šคํ…œ.png](asset/๋กœ๊น… ์‹œ์Šคํ…œ.png) 1๋ฒˆ๊ณผ 2๋ฒˆ ๋Œ€์‹œ๋ณด๋“œ

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

3๋ฒˆ๊ณผ 4๋ฒˆ ๋Œ€์‹œ๋ณด๋“œ

  • ์–ด๋А ์‹œ๊ฐ„๋Œ€์— ํŠธ๋ž˜ํ”ฝ์ด ๋Š˜์–ด๋‚˜๋Š”์ง€ ํšจ๊ณผ์ ์œผ๋กœ ์ถ”์ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๊ทธ๋ ‡๊ฒŒ ํ•จ์œผ๋กœ์จ ํ–ฅํ›„ ์œ ์—ฐํ•œ ์Šค์ผ€์ผ๋ง์„ ๊พ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

Front

frontend
โ”œโ”€โ”€ main.dart
โ”‚
โ”œโ”€โ”€ component // Smaller units than screens, rendering detailed UIs within screens.
โ”‚ โ”œโ”€โ”€ control
โ”‚ โ”‚ โ”œโ”€โ”€ auto_control_screen.dart
โ”‚ โ”‚ โ””โ”€โ”€ manual_screen.dart
โ”‚ โ”‚
โ”‚ โ”œโ”€โ”€ reserve
โ”‚ โ”‚ โ””โ”€โ”€ create_reserve_screen.dart
โ”‚ โ”‚
โ”‚ โ”œโ”€โ”€ stream
โ”‚ โ”‚ โ”œโ”€โ”€ camera_screen.dart
โ”‚ โ”‚ โ”œโ”€โ”€ map_screen.dart
โ”‚ โ”‚ โ””โ”€โ”€ map_view_screen.dart
โ”‚ โ”‚
โ”‚ โ””โ”€โ”€ weather
โ”‚ โ”œโ”€โ”€ indoor_screen.dart
โ”‚ โ”œโ”€โ”€ outdoor_screen.dart
โ”‚ โ”œโ”€โ”€ weather_screen.dart
โ”‚ โ””โ”€โ”€ weather_text.dart
โ”‚
โ”œโ”€โ”€ const // Defines global variables and methods used across the APK.
โ”‚ โ”œโ”€โ”€ colors.dart
โ”‚ โ”œโ”€โ”€ global_alert_dialog.dart
โ”‚ โ”œโ”€โ”€ map_painter.dart
โ”‚ โ”œโ”€โ”€ secure_storage.dart
โ”‚ โ”œโ”€โ”€ tabs.dart
โ”‚ โ””โ”€โ”€ time_creator.dart
โ”‚
โ”œโ”€โ”€ model // Defines objects used for API integration and within the app itself.
โ”‚ โ”œโ”€โ”€ appliance.dart
โ”‚ โ”œโ”€โ”€ notification.dart
โ”‚ โ”œโ”€โ”€ reservation.dart
โ”‚ โ””โ”€โ”€ room.dart
โ”‚
โ”œโ”€โ”€ screen // Defines the main screens of the APK and screens for each feature.
โ”‚ โ”œโ”€โ”€ control_screen.dart
โ”‚ โ”œโ”€โ”€ home_screen.dart
โ”‚ โ”œโ”€โ”€ login_screen.dart
โ”‚ โ”œโ”€โ”€ main_screen.dart
โ”‚ โ”œโ”€โ”€ menu_screen.dart
โ”‚ โ”œโ”€โ”€ mode_screen.dart
โ”‚ โ”œโ”€โ”€ noti_screen.dart
โ”‚ โ””โ”€โ”€ reserve_screen.dart
โ”‚
โ”œโ”€โ”€ service // Functions needed for server and external API integration.
โ”‚ โ”œโ”€โ”€ control_service.dart
โ”‚ โ”œโ”€โ”€ fetch_weather.dart
โ”‚ โ”œโ”€โ”€ noti_service.dart
โ”‚ โ”œโ”€โ”€ reserve_service.dart
โ”‚ โ””โ”€โ”€ user_service.dart
โ”‚
โ””โ”€โ”€ socket // Defines functions related to WebSocket.
โ””โ”€โ”€ socket.dart

Back

 โ””โ”€petpal
    โ””โ”€src
        โ”œโ”€main
        โ”‚  โ”œโ”€java
        โ”‚  โ”‚  โ””โ”€com
        โ”‚  โ”‚      โ””โ”€ssafy
        โ”‚  โ”‚          โ””โ”€petpal
        โ”‚  โ”‚              โ”œโ”€aop
        โ”‚  โ”‚              โ”œโ”€auth
        โ”‚  โ”‚              โ”‚  โ”œโ”€controller
        โ”‚  โ”‚              โ”‚  โ”œโ”€dto
        โ”‚  โ”‚              โ”‚  โ”œโ”€enums
        โ”‚  โ”‚              โ”‚  โ”œโ”€filter
        โ”‚  โ”‚              โ”‚  โ”œโ”€models
        โ”‚  โ”‚              โ”‚  โ”œโ”€service
        โ”‚  โ”‚              โ”‚  โ””โ”€utils
        โ”‚  โ”‚              โ”œโ”€common
        โ”‚  โ”‚              โ”œโ”€config
        โ”‚  โ”‚              โ”œโ”€control
        โ”‚  โ”‚              โ”‚  โ”œโ”€controller
        โ”‚  โ”‚              โ”‚  โ””โ”€dto
        โ”‚  โ”‚              โ”œโ”€exception
        โ”‚  โ”‚              โ”œโ”€home
        โ”‚  โ”‚              โ”‚  โ”œโ”€controller
        โ”‚  โ”‚              โ”‚  โ”œโ”€dto
        โ”‚  โ”‚              โ”‚  โ”œโ”€entity
        โ”‚  โ”‚              โ”‚  โ”œโ”€repository
        โ”‚  โ”‚              โ”‚  โ””โ”€service
        โ”‚  โ”‚              โ”œโ”€image
        โ”‚  โ”‚              โ”‚  โ”œโ”€controller
        โ”‚  โ”‚              โ”‚  โ”œโ”€dto
        โ”‚  โ”‚              โ”‚  โ”œโ”€entity
        โ”‚  โ”‚              โ”‚  โ”œโ”€repository
        โ”‚  โ”‚              โ”‚  โ””โ”€service
        โ”‚  โ”‚              โ”œโ”€map
        โ”‚  โ”‚              โ”‚  โ”œโ”€controller
        โ”‚  โ”‚              โ”‚  โ”œโ”€dto
        โ”‚  โ”‚              โ”‚  โ”œโ”€entity
        โ”‚  โ”‚              โ”‚  โ”œโ”€repository
        โ”‚  โ”‚              โ”‚  โ””โ”€service
        โ”‚  โ”‚              โ”œโ”€notification
        โ”‚  โ”‚              โ”‚  โ”œโ”€controller
        โ”‚  โ”‚              โ”‚  โ”œโ”€dto
        โ”‚  โ”‚              โ”‚  โ”œโ”€entity
        โ”‚  โ”‚              โ”‚  โ”œโ”€repository
        โ”‚  โ”‚              โ”‚  โ””โ”€service
        โ”‚  โ”‚              โ”œโ”€object
        โ”‚  โ”‚              โ”‚  โ”œโ”€controller
        โ”‚  โ”‚              โ”‚  โ”œโ”€dto
        โ”‚  โ”‚              โ”‚  โ”œโ”€entity
        โ”‚  โ”‚              โ”‚  โ”œโ”€repository
        โ”‚  โ”‚              โ”‚  โ””โ”€service
        โ”‚  โ”‚              โ”œโ”€room
        โ”‚  โ”‚              โ”‚  โ”œโ”€controller
        โ”‚  โ”‚              โ”‚  โ”œโ”€dto
        โ”‚  โ”‚              โ”‚  โ”œโ”€entity
        โ”‚  โ”‚              โ”‚  โ”œโ”€repository
        โ”‚  โ”‚              โ”‚  โ””โ”€service
        โ”‚  โ”‚              โ”œโ”€route
        โ”‚  โ”‚              โ”‚  โ”œโ”€controller
        โ”‚  โ”‚              โ”‚  โ”œโ”€dto
        โ”‚  โ”‚              โ”‚  โ”œโ”€entity
        โ”‚  โ”‚              โ”‚  โ”œโ”€repository
        โ”‚  โ”‚              โ”‚  โ””โ”€service
        โ”‚  โ”‚              โ”œโ”€schedule
        โ”‚  โ”‚              โ”‚  โ”œโ”€controller
        โ”‚  โ”‚              โ”‚  โ”œโ”€dto
        โ”‚  โ”‚              โ”‚  โ”œโ”€entity
        โ”‚  โ”‚              โ”‚  โ”œโ”€repository
        โ”‚  โ”‚              โ”‚  โ””โ”€service
        โ”‚  โ”‚              โ”œโ”€user
        โ”‚  โ”‚              โ”‚  โ”œโ”€controller
        โ”‚  โ”‚              โ”‚  โ”œโ”€dto
        โ”‚  โ”‚              โ”‚  โ”œโ”€entity
        โ”‚  โ”‚              โ”‚  โ”œโ”€repository
        โ”‚  โ”‚              โ”‚  โ””โ”€service
        โ”‚  โ”‚              โ””โ”€web
        โ”‚  โ”‚                  โ””โ”€controller
        โ”‚  โ””โ”€resources
        โ”‚      โ”œโ”€static
        โ”‚      โ”‚  โ”œโ”€assets
        โ”‚      โ”‚  โ”œโ”€css
        โ”‚      โ”‚  โ””โ”€js
        โ”‚      โ””โ”€templates
        โ””โ”€test
            โ””โ”€java
                โ””โ”€com
                    โ””โ”€ssafy
                        โ””โ”€petpal
                            โ””โ”€control

About

This project involved utilizing TurtleBot in the simulation environment provided by 'MORAI' to create a mobility service for pet care, including object recognition and IoT device control.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors