Overview
문제 정의
일반 농부는 병해충 여부와 식물 상태를 직접 눈으로 확인해야 해 많은 시간이 들고, 판단 또한 개인 경험에 크게 의존하는 경우가 많았습니다. Meer's Farm은 자율주행 로봇이 농장을 순찰하며 상태를 자동으로 파악하고, 이를 사용자가 짧은 시간 안에 이해할 수 있도록 수치 데이터와 레포트 형태로 보여주는 흐름을 만드는 데 초점을 맞췄습니다.
Overview
일반 농부는 병해충 여부와 식물 상태를 직접 눈으로 확인해야 해 많은 시간이 들고, 판단 또한 개인 경험에 크게 의존하는 경우가 많았습니다. Meer's Farm은 자율주행 로봇이 농장을 순찰하며 상태를 자동으로 파악하고, 이를 사용자가 짧은 시간 안에 이해할 수 있도록 수치 데이터와 레포트 형태로 보여주는 흐름을 만드는 데 초점을 맞췄습니다.
Core Value
전체 대시보드, 농장 상세, 로봇 제어, 이미지 갤러리, 운영 리포트를 하나의 서비스 흐름으로 연결했습니다. 조회에서 끝나지 않고 상태 확인 이후 원인 파악과 제어 액션까지 자연스럽게 이어지도록 설계한 점이 핵심입니다.
Highlights
전체 농장 보기와 개별 농장 보기를 나누어 온도, 습도, 조도, pH, NPK, 위험도 데이터를 빠르게 비교할 수 있게 했습니다.
행, 열, 층수 기반 구조 데이터와 자동화 임계값을 함께 다루고, 섹터 단위 상태가 상위 대시보드에 반영되도록 설계했습니다.
로봇 등록, 상세 조회, 모드 전환, 정지, 복귀, 스케줄 타임라인까지 연결해 관제 기능을 강화했습니다.
병해충 이미지와 리포트를 시간 기준으로 매칭해 어떤 문제가 언제 발생했는지 함께 확인할 수 있게 구성했습니다.
Screen Explorer
대시보드, 농장 관리, 로봇, 갤러리, 리포트, FAQ, 설정 흐름을 카테고리별로 확인할 수 있습니다.
Architecture
`accounts`, `farms`, `robots`, `reports`, `faqs` 앱으로 역할을 나누고, 센서 데이터와 외부 JSON 이미지 분석 결과가 최종적으로 대시보드와 리포트에 반영되도록 구성했습니다.
화면은 React 라우팅 기준으로 분리하고, 백엔드는 도메인별 API와 인증을 분리해 데이터 흐름과 화면 흐름이 명확하게 이어지도록 했습니다.
Tech Stack
대시보드, 농장, 로봇, 갤러리, 리포트, 설정 화면을 라우팅 기준으로 분리하고 전용 UI를 구성했습니다.
JWT 인증, 농장/섹터/로봇/리포트 모델 분리, 권한 제어, 운영 로그 저장 흐름을 구현했습니다.
센서 수신 데이터와 병해충 이미지 정보를 반영해 섹터 상태를 갱신하고, 완료 이력을 로그로 남기도록 구성했습니다.
Contribution
Django REST Framework 기반의 농장, 섹터, 로봇, 리포트 API를 설계하고 구현했습니다.
React 기반 대시보드, 리포트, 갤러리, 로봇 상세 화면을 구현하고 화면 흐름을 정리했습니다.
JWT 로그인, 회원가입, 사용자 설정 기능과 관리자/일반 사용자 접근 제어 로직을 적용했습니다.
병해충 이미지, 리포트, 로그를 시간 기준으로 연결해 문제 원인과 대응 방향을 함께 볼 수 있게 했습니다.
Troubleshooting
농장, 리포트, 이미지 데이터 응답 형식 차이를 프론트엔드 정규화 로직으로 흡수해 화면 안정성을 높였습니다.
단순 이미지 조회가 아니라 분석 근거 확인이 가능하도록 동일 시점 리포트와 이미지를 연결하는 구조를 설계했습니다.
모든 섹터 데이터 갱신이 끝났을 때 순찰 완료 로그가 남도록 순찰 세션 흐름을 설계했습니다.
사용자 권한에 따라 본인 소유 농장과 로봇만 접근 가능하도록 백엔드 접근 제어 로직을 적용했습니다.
Summary
실시간 센서 데이터, 병해충 이미지, 로봇 순찰 로그, 운영 리포트를 연결해 운영자가 상태를 빠르게 파악하고 다음 조치까지 이어갈 수 있도록 만든 프로젝트입니다.