← 포트폴리오 목록

운전자 주행 리포트 통합 앱

설계·구현 참고 자료 — 고객 납품 실적으로 구분된 항목이 아닙니다.

6개 기능 모듈화 요구 중 주행·주차 리포트, 운전 점수 분석, 주정차 단속 위험 알림, 운행일지 자동 생성을 Flutter 네이티브 앱 + Riverpod 기반으로 설계·구현하며, 커뮤니티 제보·차량관리 등 나머지 모듈의 OCR 인식 UI로 확장 가능한 구조로 설계합니다.

서비스 타입Web
업종데이터 분석
기술 스택
FlutterDartRiverpodfreezedfl_chartGeolocatorpdf/printingimage_pickerREST API
주요 기능
  • 주행·주차 리포트 대시보드
  • 운전 점수 분석
  • 주정차 단속 위험 알림
  • 운행일지 자동 생성

프로젝트 개요

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

6개 기능 모듈화 요구 중 주행·주차 리포트, 운전 점수 분석, 주정차 단속 위험 알림, 운행일지 자동 생성을 Flutter 네이티브 앱 + Riverpod 기반으로 설계·구현하며, 커뮤니티 제보·차량관리 등 나머지 모듈의 OCR 인식 UI로 확장 가능한 구조로 설계합니다.

작업 범위

  • 주행·주차 리포트 대시보드: 전체·주행·주차 탭으로 리포트를 구분해 월별로 조회하고, 리포트 상세에서 거리·시간·운전점수·타임라인을 확인합니다
  • 운전 점수 분석: 메인 점수와 최근 주행·누적거리를 확인하고, 월간 그래프로 급제동 등 이벤트별 추이를 분석하며, 운행기록 상세에서 경로 지도를 확인합니다
  • 주정차 단속 위험 알림: 차량 번호와 관심 지역을 등록하면 위치 기반으로 주정차 단속 위험도를 판정해 알리고, 주변 주차장을 안내합니다
  • 운행일지 자동 생성: 업무용·출퇴근용을 구분해 운행일지를 자동 생성하고, 국세청 양식 PDF로 변환한 뒤 엑셀로 출력·공유합니다

주요 업무

  • 주행·주차 리포트 대시보드 화면: 리포트 목록/상세 화면을 Riverpod AsyncNotifier로 상태 분리하고, 강한/약한 충격·시동 전후 알림 이벤트를 타임라인에 병합해 표시합니다
  • 운전 점수 분석 화면: fl_chart로 월간 이벤트별 그래프를 렌더링하고, 운행기록 상세 화면에 경로 지도와 산정 기준 화면을 연결합니다
  • 주정차 단속 위험 알림 화면: Geolocator 기반 지오펜싱으로 등록 지역 진입을 감지하고, 시간대별 단속 현황 데이터를 위험도 알림에 반영합니다
  • 운행일지 자동 생성 화면: pdf 패키지로 국세청 양식 레이아웃을 렌더링하고, printing 패키지로 미리보기·공유·인쇄 흐름을 연결합니다
운전자 주행 리포트 통합 앱
요구사항 정의

프로젝트 핵심 과제

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

블랙박스 원본 영상·홈 화면은 발주사 내부 팀이 별도 개발하므로

모듈 경계와 데이터 연동 규약을 명확히 정의해 인터페이스 리스크에 대응합니다

충격·시동 알림과 단속 위험 알림이 동시에 발생할 수 있어

알림 우선순위와 중복 억제 규칙을 설계해 대응합니다

운행일지 국세청 양식은 페이지 레이아웃 규격이 엄격해

pdf 템플릿을 필드 단위로 검증하는 렌더링 구조로 대응합니다

위치 기반 지오펜싱은 배터리 소모와 정확도 사이의 균형이 필요해

반경·주기 파라미터를 조정 가능한 구조로 설계해 대응합니다

구현 내용

핵심 기능 상세

핵심 기능 1

주행·주차 리포트 대시보드

전체·주행·주차 탭으로 리포트를 구분해 월별로 조회하고, 리포트 상세에서 거리·시간·운전점수·타임라인을 확인합니다.

  • Riverpod AsyncNotifier로 리포트 목록/상세 데이터를 화면별로 분리 캐싱
  • freezed 불변 모델로 주행·주차 리포트 데이터 구조를 타입 안전하게 정의
  • 충격·시동 이벤트를 리포트 타임라인에 병합 렌더링하는 커스텀 위젯 구현

월 단위 리포트 탭 전환과 상세 타임라인 렌더링을 하나의 상태 트리로 관리해 화면 간 데이터 정합성을 구현합니다.

주행·주차 리포트 대시보드
주행·주차 리포트 대시보드 실제 화면
핵심 기능 2

운전 점수 분석

메인 점수와 최근 주행·누적거리를 확인하고, 월간 그래프로 급제동 등 이벤트별 추이를 분석하며, 운행기록 상세에서 경로 지도를 확인합니다.

  • fl_chart 기반 월간 이벤트별(급제동·급가속·급회전) 막대/라인 그래프 구현
  • Geolocator 좌표 이력을 경로 지도 위젯에 매핑해 출발·도착 구간 시각화
  • 산정 기준 로직을 별도 서비스 레이어로 분리해 점수 산출 근거를 화면에 노출

이벤트 로그와 경로 좌표를 하나의 운전 점수 도메인 모델로 통합해 메인 점수부터 상세 경로까지 일관된 데이터 흐름으로 구현합니다.

운전 점수 분석
운전 점수 분석 실제 화면
핵심 기능 3

주정차 단속 위험 알림

차량 번호와 관심 지역을 등록하면 위치 기반으로 주정차 단속 위험도를 판정해 알리고, 주변 주차장을 안내합니다.

  • Geolocator 반경 계산으로 등록 지역 진입 시 지오펜싱 알림 트리거 구현
  • 시간대별 단속 현황 데이터를 위험도 등급(안전/주의/위험)으로 매핑하는 판정 로직 설계
  • 위험 알림 발생 시 반경 내 주변 주차장 목록을 함께 조회하는 연동 화면 구현

차량 등록·지역 설정·위험도 판정·주차장 안내를 하나의 알림 파이프라인으로 연결해 진입부터 대안 제시까지 이어지는 흐름을 구현합니다.

주정차 단속 위험 알림
주정차 단속 위험 알림 실제 화면
핵심 기능 4

운행일지 자동 생성

업무용·출퇴근용을 구분해 운행일지를 자동 생성하고, 국세청 양식 PDF로 변환한 뒤 엑셀로 출력·공유합니다.

  • 리포트 데이터를 업무용/출퇴근용으로 구분 집계하는 운행일지 생성 로직 구현
  • pdf 패키지로 국세청 양식 레이아웃을 페이지 단위로 렌더링
  • printing 패키지로 PDF 미리보기·공유·엑셀 출력 흐름을 하나의 플로우로 연결

리포트 원본 데이터부터 국세청 양식 PDF, 엑셀 출력까지 이어지는 문서 생성 파이프라인을 구현합니다.

운행일지 자동 생성
운행일지 자동 생성 실제 화면
구현 과정

프로젝트 진행 단계

STEP 1

리포트·점수 도메인 모델 설계 · 2026.09

freezed 기반 주행·주차 리포트, 운전 점수 데이터 모델 정의 및 Riverpod 프로바이더 구조 설계

STEP 2

운전 점수·지도 시각화 구현 · 2026.09

fl_chart 월간 이벤트 그래프, Geolocator 경로 지도 연동, 산정 기준 화면 구현

STEP 3

위치 기반 단속 알림 모듈 개발 · 2026.09

지오펜싱 위험도 판정 로직, 시간대별 단속 현황 알림, 주변 주차장 연동 화면 구현

STEP 4

운행일지 PDF·엑셀 파이프라인 구현 · 2026.09

국세청 양식 PDF 렌더링, printing 기반 공유·출력 흐름 연결 및 통합 테스트

개발 결과

Riverpod 리포트 상태 관리 구조 설계AsyncNotifier로 리포트 데이터를 화면별 분리 캐싱하고, freezed 불변 모델로 상태 일관성을 확보하는 구조를 설계합니다.
fl_chart 운전 점수 시각화 구현급제동·급가속 등 이벤트별 월간 막대·라인 차트를 매핑하고, 산정 기준 로직을 별도 서비스 레이어로 분리해 구현합니다.
위치 기반 지오펜싱 알림 엔진 설계Geolocator 반경 계산과 로컬 지오펜싱으로 주정차 단속 위험도를 판정하는 알림 엔진을 설계합니다.
운행일지 PDF 생성 파이프라인 구축pdf·printing 패키지로 국세청 양식 렌더링부터 미리보기·공유·엑셀 출력까지 이어지는 문서 생성 흐름을 구축합니다.

기술적 주안점

  • 월 단위 리포트 탭 전환과 상세 타임라인 렌더링을 하나의 상태 트리로 관리해 화면 간 데이터 정합성을 구현합니다
  • 이벤트 로그와 경로 좌표를 하나의 운전 점수 도메인 모델로 통합해 메인 점수부터 상세 경로까지 일관된 데이터 흐름으로 구현합니다
  • 차량 등록·지역 설정·위험도 판정·주차장 안내를 하나의 알림 파이프라인으로 연결해 진입부터 대안 제시까지 이어지는 흐름을 구현합니다

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

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

프로젝트 문의