프로젝트 배경
1. 문제점
- 고객사 보유 장비, 관리 체계 어려움
- 고객사 장비 호환성 제작으로 타 업체 프로그램 지속적 사용
- 타 업체 프로그램 사용시 프로그램 유지 보수 미비로 기기 납품 후 부정적 평가
2.웹 서비스에서 정보 제공으로 전환
- 대쉬보드를 통해 기기 위치 및 실시간 정보를 차트로 표시 (위험수치표기)
- 특정 값 범위에서 화면 오류 표시 및 알람
- Bootstrape을 활용 다양한 기기에 대응
3. 추가 계발 계획
- 현재 API를 활용하여 모바일 앱이나 Electron 활용 데스크탑 어플리케이션으로 확장
- 문자 발송 모듈을 통하여 실제 문자 발송 연동
- MQTT 프로토콜 지원하는 클라우드 브로커 환경으로 이전 모색
- 고객사 보유 장비, 관리 체계 어려움
- 고객사 장비 호환성 제작으로 타 업체 프로그램 지속적 사용
- 타 업체 프로그램 사용시 프로그램 유지 보수 미비로 기기 납품 후 부정적 평가
2.웹 서비스에서 정보 제공으로 전환
- 대쉬보드를 통해 기기 위치 및 실시간 정보를 차트로 표시 (위험수치표기)
- 특정 값 범위에서 화면 오류 표시 및 알람
- Bootstrape을 활용 다양한 기기에 대응
3. 추가 계발 계획
- 현재 API를 활용하여 모바일 앱이나 Electron 활용 데스크탑 어플리케이션으로 확장
- 문자 발송 모듈을 통하여 실제 문자 발송 연동
- MQTT 프로토콜 지원하는 클라우드 브로커 환경으로 이전 모색
프로젝트 성과
기존 서비스에 유지보수 계약 연장 및 신규 서비스 도입 희망
- 고객사에서 이미 납품한 00지방자치단체에서 긍정적 반응
-2026년도 유지 보수 계약 연장 및 2026년도 예산 편성 후 신규 서비스 도입 희망
-2026년도 유지 보수 계약 연장 및 2026년도 예산 편성 후 신규 서비스 도입 희망
핵심 기능


기기 실시간 위치 정보 표시
고객사가 판매하거나 대여한 장비를 지도상에 표기 및 데이터 표기
(*회원사표기 및 장비표기는 예시)
(*회원사표기 및 장비표기는 예시)


기기 실시간 데이터 표시
MQTT 프로토콜 구독기능을 활용 json 정보를 실시간 차트로 표시
(*회원사표기 및 장비표기는 예시)
(*회원사표기 및 장비표기는 예시)
진행 단계
기획 & 디자인 템플릿 선정
2025.05.
- 고객사 미팅 및 주요 개발 사항 체크
- Bootstrape 디자인 템플릿 선정
- Bootstrape 디자인 템플릿 선정
개발 및 테스트, 런칭
2025.05.
- 고객사 기기 정보 규격 확인
- 고객사 기기의 실시간 데이터 전송 방식 확인 (json 데이터)
- 로컬 개발 (Docker 환경)
- 오라클 클라우드 셋업 -> 배포
- 서비스 런칭
- 고객사 기기의 실시간 데이터 전송 방식 확인 (json 데이터)
- 로컬 개발 (Docker 환경)
- 오라클 클라우드 셋업 -> 배포
- 서비스 런칭
프로젝트 상세
1.고객사 요구사항
- 고객사 보유 장비 관리 체계 필요
- 고객사가 납품하는 건설사 및 지방자치단체 (회원사)등에서 납품된 기기 현재 GPS 위치 표시
- 고객사 보유 및 납품 장비인 소음측정기, 미세먼지측정기 등의 실시간 측정 정보를 웹 페이지에 표시
- 해당 측정 기기 특정 범위를 넘어서는 경우 알람 경보
- 건설현장에서는 사용된 IOT 데이터를 요청하는 경우가 많아 CSV나 엑셀로 기간 선정하여 제공할 것
2. 마이크로 서비스 설계
- IOT 데이터 수신 모듈 및 Queue 시스템 개발 (유니크한 Device Id 별로 5분 간격 마지막 데이터 저장)
- 데이터 저장은 json 형태 (향후 DB 이식 확장성을 위해 DeviceId, 수신날짜 필드 추가 등 처리)
- MQTT 지원 실시간 서버 구성 (Mosquitto Broker 사용)
- DeviceID별 MQTT Subscriptor 구현
- 실시간 정보 표시를 위한 웹 대쉬보드 개발
- 실시간 정보 처리 위해 SSE, EChart 사용 (기기 제어를 위해 Websocket 모듈도 작성)
- 대쉬보드 정보처리 위해 Toast Grid, Kakao Map, POI 모듈 사용
- 고객사 전용 페이지, 회원사 페이지 구분 ( UI 상이)
3.주요메뉴
- 고객사페이지(관리자 대쉬보드)
1) 지정 정보, 모니터링, 위치정보
2) 기기관리, 납품업체 관리(회원사관리), 회원사 회원관리
3) 기기 데이터 검색 및 추출
- 회원사(유저 대쉬보드)
1) 기기위치, 기기 모니터링. 기기 데이터 검색 및 추출
3. 주안점 : 개발 시 중점이 되었던 사항
- 기기 100대 이상에서 1-2초 간격으로 실시간 정보 수신
-> 각 기기 DeivceID별로 5분간격으로 마지막 수신된 데이터 저장(저장 간격은 조절 가능)
- 수신된 json 데이터 가공 후 DB에 저장 (향후 다른 DB 이식을 위해 schema 조정)
- 오라클 클라우드 환경에서 Load balancer 도입
- Redis 서버 이중화로 Cahce 및 session 활용
- 이미지나 데이터저장은 oracle object storage 에 저장
- 자체 CI/CD 처리 (고객사 희망사항) -> OCI Handling SCRIPT 작성
- 고객사 보유 장비 관리 체계 필요
- 고객사가 납품하는 건설사 및 지방자치단체 (회원사)등에서 납품된 기기 현재 GPS 위치 표시
- 고객사 보유 및 납품 장비인 소음측정기, 미세먼지측정기 등의 실시간 측정 정보를 웹 페이지에 표시
- 해당 측정 기기 특정 범위를 넘어서는 경우 알람 경보
- 건설현장에서는 사용된 IOT 데이터를 요청하는 경우가 많아 CSV나 엑셀로 기간 선정하여 제공할 것
2. 마이크로 서비스 설계
- IOT 데이터 수신 모듈 및 Queue 시스템 개발 (유니크한 Device Id 별로 5분 간격 마지막 데이터 저장)
- 데이터 저장은 json 형태 (향후 DB 이식 확장성을 위해 DeviceId, 수신날짜 필드 추가 등 처리)
- MQTT 지원 실시간 서버 구성 (Mosquitto Broker 사용)
- DeviceID별 MQTT Subscriptor 구현
- 실시간 정보 표시를 위한 웹 대쉬보드 개발
- 실시간 정보 처리 위해 SSE, EChart 사용 (기기 제어를 위해 Websocket 모듈도 작성)
- 대쉬보드 정보처리 위해 Toast Grid, Kakao Map, POI 모듈 사용
- 고객사 전용 페이지, 회원사 페이지 구분 ( UI 상이)
3.주요메뉴
- 고객사페이지(관리자 대쉬보드)
1) 지정 정보, 모니터링, 위치정보
2) 기기관리, 납품업체 관리(회원사관리), 회원사 회원관리
3) 기기 데이터 검색 및 추출
- 회원사(유저 대쉬보드)
1) 기기위치, 기기 모니터링. 기기 데이터 검색 및 추출
3. 주안점 : 개발 시 중점이 되었던 사항
- 기기 100대 이상에서 1-2초 간격으로 실시간 정보 수신
-> 각 기기 DeivceID별로 5분간격으로 마지막 수신된 데이터 저장(저장 간격은 조절 가능)
- 수신된 json 데이터 가공 후 DB에 저장 (향후 다른 DB 이식을 위해 schema 조정)
- 오라클 클라우드 환경에서 Load balancer 도입
- Redis 서버 이중화로 Cahce 및 session 활용
- 이미지나 데이터저장은 oracle object storage 에 저장
- 자체 CI/CD 처리 (고객사 희망사항) -> OCI Handling SCRIPT 작성

고객사 페이지 특정 장비 모니터링(실시간 차트) *회원사표기 및 장비표기는 예시

고객사 장비 위치 표시 (*회원사표기 및 장비표기는 예시)

주요 기기 데이터 정보 조회 (*회원사표기 및 장비표기는 예시)

회원사 페이지 실시간 기기 정보 표시 (*회원사표기 및 장비표기는 예시)

회원사 기기 GPS 위치 정보 표시 (*회원사표기 및 장비표기는 예시)



