Skip to content

방꾸미기와 스마트싱스를 이용해 현실과 가상을 연결하는 스마트 홈 어플리케이션

Notifications You must be signed in to change notification settings

leecr1215/thingdong

Repository files navigation

Thingdong

🏆삼성 청년 SW아카데미(SSAFY) 9th 자율프로젝트우수상(2위)🏆

✅ 프로젝트 진행 기간

2023.10.10 ~ 2023.11.17

✅ 프로젝트 목표

image

✅ 프로젝트 소개

🚩 서비스 한줄 소개

현실은 편리하게, 가상은 아름답게, THINGDONG!
스마트 싱스 접근성과 사용성 향상을 위한 스마트 홈의 또다른 해석!
"스마트 싱스 기기 연동과 방꾸미기 SNS 결합한 초연결 서비스"

✅ 멤버소개

image

✅ 기술스택

Back-end

Front-end
Infra
Tools

✅ 시스템 아키텍쳐

시스템아키텍처

✅ 스마트 싱스 제어

전구 색상 제어

bulb_color_change

전구 on/off

bulb_off_and_on

bulb_off

커튼 on/off

curtain_on

curtain_off

스위치 on/off

switch_on

switch_off

✅ 기능 소개

랜딩 페이지

01_landing

스마스 싱스 연동 _ 전등

02_room_light

방 색깔 _ 1

03_change_room_color_1

방 색깔_1

03_change_room_color_2

마이룸 확인

04_my_room

띵구(친구) 룸_1

05_thinggu_room_1

띵구(친구) 룸_2

05_thinggu_room_2

띵구(친구) 룸_3

05_thinggu_room_3

띵구(친구) 룸_4

05_thinggu_room_4

띵구(친구) 룸_5

05_thinggu_room_5

친구 찾기

06_finding_thinggu

방명록 조회

07_guestbook

스마트 싱스 연동하기

08_things_1

스마트 싱스 기기 상태 제어

08_things_2

스마트 싱스 기기 확인

08_things_3

인벤토리

09_inventory

언박싱_1

10_unboxthing_1

언박싱_2

10_unboxthing_2

언박싱_3

10_unboxthing_3

3D_room 제어1

11_change_my_room_1

3D_room 제어2

11_change_my_room_2

3D_room 제어3

11_change_my_room_3

3D_room 제어4

11_change_my_room_4

띵(화폐) 내역 조회

12_thingstory

✅ 활용 기술, 기술 설명

SmartThings , SSE

스마트 씽스 기기 연동을 위한 SmartApp개발(by SmartThings Node.js SDK)과 SSE 적용 image

SmartThings Node.js SDK는 삼성 스마트 띵스와 외부 통합을 구현할 때 필수적인 도구입니다. SDK를 사용하면, 개발자는 보다 쉽고 빠르게 통합을 구현할 수 있습니다.

[스마트 띵스 개발자 페이지]

SmartThings Developers

[스마트 띵스 NodeJs SDK]

GitHub - SmartThingsCommunity/smartapp-sdk-nodejs: Javascript/NodeJS SDK to create SmartThings SmartApps

Untitled 1

Untitled 3

  • SmartAPP 을 통해 얻은 기기 데이터를 실시간으로 클라이언트에 전송하기 위해 SSE 방식을 채택하였습니다.

Shape-E

Untitled 4

GitHub - openai/shap-e: Generate 3D objects conditioned on text or images

해당 모델에서는 고해상도의 이미지 추론 이 필요하지 않다는 점을 활용하여 연산에 사용되는 파라미터 정밀도를 낮춰 메모리를 최적화 하였습니다. 또한, 문장에서 중요한 단어들만의 관계를 계산하도록 최적화하는 xFormers를 적용 메모리 소비량을 줄이고 연산 속도를 향상 시켰습니다.

Untitled 5

또한 최적화 전 후 속도 비교를 위해 10개의 오브제를 생성하였고 10개의 오브제 생성부터 변환 저장 전송 모든 시간이 최적화 전507초에서 최적화 후 146초 까지 줄어들며 244%의 속도 향상을 이루었습니다.

Untitled 6

Kubernetes

Untitled 7

쿠버네티스의 로드밸런싱의 성능 향상 정도를확인하기 위해 K6로 부하테스트를, 그라파나를 통해 시각화를 진행하였습니다.

  • 제일 중요한 통계 데이터는 p95(95%의 통계 대표값)입니다.

Untitled 8

  • 1000명의 사용자가 동시접속 했을 때 단일 인스턴스의 경우 95%에서 161ms 로드밸런싱의 경우 135ms 를 기록하였습니다

Untitled 9

  • 더 높은 부하인 2000명 단일 인스턴스는 806ms로드밸런싱 결과에서 505ms를 기록하며 큰차이를 보이는 것을 확인 할 수있었습니다

Untitled 10

✅ 산출물(ERD, 명세서)

image

ERD

Untitled 11

API 문서

https://www.notion.so/2785a2235b134d2c8b47bc1e9e3784dc?v=8301f61465c54f938fbee06ca671ec44

✅ 결과공유, 느낀점

문준호

SSAFY 1년의 마무리를 함께한 팀원들이 너무 나도 자랑스럽고 3D 오브젝트를 통해 스마트홈 이라는 주제를 두고 너무 재미있는 프로젝트를 할 수있어서 좋았스빈다. 프로젝트에서 가장 큰 수확은 프로젝트를 진행하며 소통과 문제 해결 경험들이었습니다.

배민경 ❤️

SSAFY에서의 마지막 프로젝트를 이렇게 멋지고 완벽한 벨튀팀들이랑 함께할 수 있어서 너무 행복했습니다 !! 3D 공간을 다뤄보는 등 새로운 기술을 팀원들과 하나씩 달성해나갈 때마다 함께 성장하는 느낌이 들어 정말 뿌듯했어요. 바쁜 스케줄과 추워져서 골골대면서도 6주간 기꺼이 해냈던 밤샘 작업의 원동력입니다 . 그리고 무엇보다도 프로젝트를 진행하면서 팀원들을 얻어간 것이 제일 최고의 자산인 것 같아요 ! 다들 마음속에 띵동 저장해두고 멋진곳으로 나가서 자랑스럽게 우리 팀원들, 띵동 프로젝트 자랑해주기 ~!!

원재현

힘들고 지쳐도 팀원들 모두가 서로 배려하고 도우면서 항상 긍정적인 마음가짐로 임했기 때문에 프로젝트를 성공적으로 마무리할 수 있었던 것 같아요

React Three Fiber와 아토믹디자인시스템과 같은 새로운 기술과 방법론을 익히고 효율적인 코드와 클린한 코드를 작성하기 위해 고민하면서 기술적으로도 성장했던 시간이었어요

윤민재

SSAFY의 마지막 프로젝트로 진행한 띵동은 SSAFY에서 처음 접했던 스프링에 대한 개발 능력이 한 해 동안 얼마나 성장했는지 알 수 있었던 프로젝트였습니다. 기존에는 문법 오류를 잡기 위해 Query dsl을 사용했지만 이번 프로젝트에서는 동적 쿼리도 사용해 보면서 코드의 재사용성을 높여볼 수 있었습니다. 그리고 이번 프로젝트를 통해 평소에 공부해 보고 싶었던 node.js를 간접적으로나마 사용해 볼 수 있었고 다음에는 nest.js를 사용해 보고 싶다는 생각이 들었습니다. 백엔드 개발자로서 성장해 나가는 과정에 마음 맞는 팀원들과 만날 수 있었기에 행복했고 개발을 즐겁게 할 수 있었습니다. 또한 팀원들 덕분에 개발 실력이 배로 성장한 것 같아 정말 많은 고마움을 느끼게 되는 시간이었습니다. 민경누나, 재현이형, 준호형, 민서, 채림아 이제는 SSAFY가 끝났기 때문에 여기선 더 이상 볼 수 없겠지만 앞으로 더욱 성장해서 다시 볼 수 있으면 좋겠어! 만약 나중에 같은 회사에서 만나서 같이 프로젝트를 진행한다면 정말 재미었고, 전부 고생했고 앞으로도 건강하고 재미있게 살았으면 좋겠습니다.

이채림

재미와 감동, 기술까지 다 담는 프로젝트인 ThingDong에 함께할 수 있어서 영광이었습니다. 부족한 팀장이었지만 이런 완벽한 팀원들을 이끌 수 있어서 저도 많이 성장할 수 있었고, 개발 뿐만이 아니라, 기획 방면에서도 많이 얻어가는 것 같습니다. 스마트싱스를 쓰자고 했을 때 다들 많이 당황했을텐데 어떤 기술이든지 두려워 하지 않고 언제나 도전하는 모습이 보기 좋았고, 결과로도 보여줬다고 생각합니다. 싸피가 끝나서도 자주 연락하고 서로 안부도 묻고 만나기도 하고 하면 좋겠네요! 다같이 취업해서 멋진 풍경 보러 가고 맛있는 거 먹으러 갑시다:bell: 우리 velnourgo 팀 모두 고생많았고 감사했어용 ❤️❤️

한민서

띵동은 그동안의 프로젝트에서 접하지 못했던 nodeJs를 사용해 SmartThings API를 이용해 볼 수 있는 좋은 기회였습니다. 취업 준비로 인해 팀원들에게 미안한 부분이 많았는데 잘 마무리 되어서 기쁘고, 프로젝트 기간 내내 배려해준 팀원들에게 너무 고맙고 미안한 시간이었던 것 같아요. 또, 기획부터 개발, 발표까지 모두가 열심히 준비했던 만큼 마지막 발표에서 아쉬움이 더 크게 남은 것 같아요. 그렇지만 6주 동안 고생해준 우리 팀원들! 모두 힘들었던 기억은 묻어두고, 이번 프로젝트 덕분에 얻어가는 것들, 행복했던 순간들만 떠올리며 다음 도전을 순탄하게 준비해 나가길!:smiling_face_with_3_hearts: 싸피 1년 동안 고생했고, 힘들었으니 이제 모두의 앞에 잘 풀리고, 행복한 일들만 가득하길! 기도할게:blush:

✅ UCC링크

띵동 UCC

✅ 띵구룸들~.~

대체_텍스트 대체_텍스트

✅ 추억들~.~(우리사진)

KakaoTalk_20231124_173446953_01 KakaoTalk_20231124_173446953_06 KakaoTalk_20231124_173446953_12 KakaoTalk_20231124_173726311_02 KakaoTalk_20231124_173726311_03

About

방꾸미기와 스마트싱스를 이용해 현실과 가상을 연결하는 스마트 홈 어플리케이션

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published