← 포트폴리오 목록

스마트팜 장비·알림 관리 콘솔

농장 모니터링 앱 뒤에서 담당자가 쓰게 될 장비·센서 설정, 알림 규칙, 피드백 처리, 디자인 가이드 화면을 제안형으로 구성한 확장 프로젝트입니다.

프로젝트 납품 요약

아래 프로젝트 개요와 핵심 기능에서 구현 화면을 확인할 수 있습니다.

서비스 타입Web
업종모니터링
기술 스택
Flutter 테마 토큰 매핑 가이드 설계React 18Tailwind CSSNode.js + ExpressPostgreSQL + PrismaRedisBull QueueSSE (Server-Sent Events)
주요 기능
  • 운영 현황
  • 장비·센서 설정
  • 알림 규칙
  • 피드백 처리

프로젝트 개요

범위: 개발, 디자인, 기획

농장 모니터링 앱 뒤에서 담당자가 쓰게 될 장비·센서 설정, 알림 규칙, 피드백 처리, 디자인 가이드 화면을 제안형으로 구성한 확장 프로젝트입니다. 설정 변경 이력과 권한별 화면 차이까지 포함해 MVP 이후의 관리 범위를 보여줍니다.

작업 범위

  • 운영 현황: 관리 담당자가 농장별 장비 연결 상태, 처리 대기 알림, 미처리 피드백을 한 화면에서 확인하고 처리할 건부터 열어봅니다
  • 장비·센서 설정: 농장별 장비와 센서의 이름·적정 범위·측정 주기를 목록에서 고르고 상세 폼에서 변경합니다
  • 알림 규칙: 센서 항목별 주의·위험 기준값과 알림 대상, 반복 알림 간격을 규칙으로 설정하고 켜고 끕니다
  • 피드백 처리: 농장주가 남긴 피드백을 분류별로 모아 확인하고 처리 단계를 바꾸며 답변을 남깁니다

주요 업무

  • 운영 현황 화면: 농장별 연결 상태 표, 오늘 처리할 일 목록, 최근 설정 변경 기록을 급한 순서로 배치하는 구조를 설계합니다
  • 장비·센서 설정 화면: 목록과 상세 분할 구조, 변경 전후 값 비교 대화상자, 저장 후 변경 이력 기록을 설계합니다
  • 알림 규칙 화면: 규칙 목록, 규칙 편집 대화상자, 시험 발송 결과 표시, 규칙 켜기·끄기와 되돌리기 구조를 설계합니다
  • 피드백 처리 화면: 분류 필터, 처리 단계 변경, 답변 작성 대화상자, 같은 요청 묶기 구조를 설계합니다
스마트팜 장비·알림 관리 콘솔
요구사항 정의

프로젝트 핵심 과제

프로젝트 진행 시 해결한 핵심 기술 과제입니다.

농장·동·장비 계층에서 상위 설정이 하위 장비에 상속되는 범위와 예외 규칙 설계

센서 값이 기준값 근처에서 오르내릴 때 알림이 반복 발송되지 않

유지 시간 판정 설계 필요

여러 담당자가 같은 장비 설정을 동시에 수정할 때 충돌을 알리는 저장 규칙 설계

설정 변경 이력이 쌓일 때 장비별·기간별로 빠르게 조회되는 인덱스 구조 설계

구현 내용

핵심 기능 상세

핵심 기능 1

운영 현황

관리 담당자가 농장별 장비 연결 상태, 처리 대기 알림, 미처리 피드백을 한 화면에서 확인하고 처리할 건부터 열어봅니다.

  • 농장·동·장비 3단계 계층을 하나의 트리 모델로 관리해 목록과 상세가 같은 구조를 읽도록 설계
  • 처리할 일 목록을 알림·피드백·점검 항목으로 통합하고 급한 순서로 정렬하는 큐 구현
  • Redis 캐시로 농장별 연결 상태 요약을 보관해 현황 화면 조회 구조 설계

서로 다른 출처의 처리 대기 건을 하나의 작업 큐로 묶어 급한 순서로 보여주는 구조를 구현합니다.

운영 현황
운영 현황 실제 화면
핵심 기능 2

장비·센서 설정

농장별 장비와 센서의 이름·적정 범위·측정 주기를 목록에서 고르고 상세 폼에서 변경합니다. 목록과 상세 분할 구조, 변경 전후 값 비교 대화상자, 저장 후 변경 이력 기록을 설계합니다.

  • 목록·상세 분할 화면에서 선택한 장비를 주소 해시 상태로 유지해 새로고침 후에도 복원
  • 변경 전후 값을 나란히 보여주는 확인 대화상자와 Prisma 트랜잭션 기반 저장 구현
  • 측정 주기·적정 범위 입력의 허용 범위 검사를 제출 시점에 일괄 수행하는 폼 구조 설계

설정 저장과 변경 이력 기록을 한 트랜잭션으로 묶어, 저장된 값과 이력이 항상 일치하도록 구현합니다.

장비·센서 설정
장비·센서 설정 실제 화면
핵심 기능 3

알림 규칙

센서 항목별 주의·위험 기준값과 알림 대상, 반복 알림 간격을 규칙으로 설정하고 켜고 끕니다. 규칙 목록, 규칙 편집 대화상자, 시험 발송 결과 표시, 규칙 켜기·끄기와 되돌리기 구조를 설계합니다.

  • 기준값·유지 시간·반복 간격을 한 규칙 모델로 정의하고 서버에서 평가하는 구조 설계
  • Bull Queue로 알림 발송 작업을 쌓아 같은 규칙의 중복 발송을 간격 기준으로 묶는 구조 구현
  • 시험 발송 결과를 접수·발송·실패 단계로 표시하는 결과 패널 설계

같은 조건이 이어질 때 반복 알림을 간격 기준으로 묶어 발송하는 큐 구조를 설계합니다.

알림 규칙
알림 규칙 실제 화면
핵심 기능 4

피드백 처리

농장주가 남긴 피드백을 분류별로 모아 확인하고 처리 단계를 바꾸며 답변을 남깁니다. 분류 필터, 처리 단계 변경, 답변 작성 대화상자, 같은 요청 묶기 구조를 설계합니다.

  • 접수·검토·반영 3단계 상태 변경을 목록과 상세에 즉시 반영하는 낙관적 갱신 구현
  • 분류·처리 단계·기간 필터를 URL 쿼리와 동기화해 거른 결과를 공유 가능한 주소로 유지
  • 비슷한 요청을 묶어 건수를 표시하는 그룹 보기 구조 설계

필터 상태를 주소와 동기화해 거른 목록을 그대로 공유할 수 있는 구조를 구현합니다.

피드백 처리
피드백 처리 실제 화면
구현 과정

프로젝트 진행 단계

STEP 1

관리 범위 정의와 데이터 모델 설계 · 2026.11

농장·동·장비·센서 계층, 알림 규칙, 피드백, 변경 이력 테이블 설계와 역할별 권한 표 정의

STEP 2

설정 화면과 변경 이력 구현 · 2026.11

목록·상세 분할 화면, 변경 전후 비교 대화상자, 트랜잭션 저장과 이력 기록 구현

STEP 3

알림 규칙과 발송 큐 구현 · 2026.11

규칙 평가 로직, Bull Queue 발송 작업, 반복 알림 묶기와 시험 발송 결과 패널 구현

STEP 4

피드백 처리와 디자인 가이드 화면 구성 · 2026.11

처리 단계 변경, 답변 작성, 토큰 대응 표 화면 구성과 권한별 화면 점검

개발 결과

설정 저장·이력 단일 트랜잭션 설계설정 변경과 변경 이력 기록을 Prisma 트랜잭션 하나로 묶어 저장 값과 이력이 항상 일치하도록 구현합니다.
알림 반복 간격 묶음 발송 큐 구축Bull Queue로 같은 규칙의 반복 발송을 간격 기준으로 묶고 접수·발송·실패 단계를 기록하는 구조를 설계합니다.
역할별 화면 권한 모델 구현담당자·조회자 2개 역할이 메뉴·버튼·저장 API에서 같은 권한 표를 읽도록 3중 검증 구조를 적용합니다.
디자인 토큰 대응 표 체계 설계색상·글꼴·간격 토큰을 Flutter 테마 값과 1:1로 대응시킨 표를 화면으로 구성해 코드 반영 기준으로 삼습니다.

기술적 주안점

  • 서로 다른 출처의 처리 대기 건을 하나의 작업 큐로 묶어 급한 순서로 보여주는 구조를 구현합니다
  • 설정 저장과 변경 이력 기록을 한 트랜잭션으로 묶어, 저장된 값과 이력이 항상 일치하도록 구현합니다
  • 같은 조건이 이어질 때 반복 알림을 간격 기준으로 묶어 발송하는 큐 구조를 설계합니다

유사한 프로젝트를 기획하고 계신가요?

필요한 기능과 일정을 알려주시면 개발 범위를 함께 정리하겠습니다.

프로젝트 문의