Project brief
프로젝트 내용
[프로젝트 개요]
- 저희 블랙박스와 짝을 이루는 스마트폰 앱을 Flutter로 새로 만들고 있으며, 그중 6개 기능(주행·주차 리포트, 운전 점수, 주정차 단속 알림, 가치봄, 내가 가본 곳, 파인케어)의 개발을 맡아 주실 파트너님을 찾습니다. 결과물은 저희 앱에 붙일 기능별 Flutter 모듈이며, 홈·블랙박스 연동·영상 재생 기능과 서버는 저희 내부 개발팀이 만듭니다. 기획과 디자인은 저희가 직접 진행하므로 이번 범위는 개발만입니다. 6개 기능 중 일부는 내부 일정 검토에 따라 저희가 직접 개발하도록 조정될 수 있습니다(아래 미확정 항목에 있습니다).
[클라이언트 소개]
- 1992년부터 차량용 블랙박스와 내비게이션을 만들어 온 제조사입니다. 이번 앱의 사용자는 저희 블랙박스를 쓰는 일반 운전자와 소규모 법인 고객입니다.
- 프로젝트 의사결정 구조: 사업본부 AI 사업팀이 요구사항과 화면을 확정하고 문의에 답하며, 미팅에도 같은 팀이 참석합니다.
- 개발 지식: 사내에 앱 개발팀이 있어 홈·블랙박스 연동·영상 재생 기능을 같은 기간에 직접 개발합니다. 파트너님이 만든 모듈을 저희 개발팀이 앱에 합치게 되므로 기술적인 협의는 개발팀과 직접 하실 수 있습니다.
[프로젝트 배경 및 목표]
- 지금 상황: 블랙박스 앱을 Flutter 기반의 새 앱으로 바꾸면서 주행 리포트, 운전 점수, 운전자 간 목격 제보, 차량 관리 같은 기능을 새로 넣고 있습니다. 기획·디자인과 핵심 기능은 내부에서 진행 중이지만, 모든 기능을 내부 인력만으로 만들면 목표 일정을 맞추기 어렵다는 것이 이번에 일부 기능을 외부에 맡기려는 이유입니다.
- 끝나면 이렇게 되기를 바랍니다: 파트너님이 만든 6개 기능이 저희 앱 안에서 처음부터 한 앱처럼 동작하고, 저희 개발팀이 인수 후 별도 재작업 없이 이어서 운영·수정할 수 있기를 바랍니다.
- 다만 이런 점이 우려됩니다: 저희 개발팀과 파트너님이 같은 앱을 동시에 만들기 때문에 ① 모듈 연결 방식이 어긋나 합칠 때 재작업이 생기거나 ② 기능 일부를 내부로 가져올 때 떼어내기 어려운 구조가 될까 걱정됩니다.
[필수 과업 범위와 결과물]
1. 수행 범위
- SW 개발: 6개 기능의 Flutter(Dart) 화면 및 서버 API 연동, 기능별 Flutter Package/Module 구성, 기능 검증용 Demo App (iOS 15+ / Android SDK 21+, Riverpod 기반 MVVM·freezed 불변 모델)
- 저희 앱과의 통합: 화면 이동·로그인 정보 연결 규약 합의, 저희 개발팀 저장소와의 소스 통합, 네이티브 연동이 필요하면 Platform Channel로 Swift/Kotlin 브릿지 구현
2. 상세 기능 요구 사항
2-1. 주행·주차 리포트
- 리포트 목록: 전체·주행·주차 탭 및 월 이동
- 리포트 상세: 주행 리포트(거리·시간·운전 점수·주행 타임라인), 주차 리포트(주차 시간·위치·주차 타임라인)
- 리포트 알림: 강한/약한 충격, 시동 전후, 안전 주행 알림 수신 및 해당 리포트 이동
- 운행일지: 운행별 업무용·출퇴근용 구분과 사용자 기록 입력, 국세청 양식 운행일지 PDF 생성 및 엑셀 출력·공유 (소규모 법인 대상, 월 단위, Flutter pdf/printing 패키지 등)
2-2. 운전 점수
- 운전 점수 메인: 점수, 최근 주행, 최근 6개월·누적 거리, 업데이트 일시
- 월간 운전 점수 그래프: 월 선택 및 해당 월 주행 데이터·급제동 등 이벤트 횟수 (fl_chart 등 차트)
- 월간 운행 기록·운행 기록 상세: 이전달·다음달 이동과 날짜별 기록·안전점수, 주행 경로 지도와 출발지·도착지 주소·출발시각·도착시각·이벤트
- 운전 점수 산정 기준 화면: 측정 항목, 점수 구간, 산출 흐름 안내
2-3. 주정차 단속 알림
- 차량 번호 등록 및 지역 설정
- 단속 위험도 알림: 주차 위치 기준 양호/위험 표시 (주행 중 이용 제한, Geolocator 등 위치 기반 서비스)
- 시간대별 단속 현황 및 주변 주차장 안내 (지도 연동)
2-4. 가치봄 (도움 요청·목격 제보)
- 목록·지도 보기: 현재 위치/이동 경로 기반 주변 도움 요청·제보 조회, 가까운 순 정렬, 내 경로와 일치 강조, 공공DB 연계 정보 표시
- 상세 화면: 작성자 정보·장소·일시·내용·위치 지도 및 제보 영상 보기 (도움 요청 상세는 텍스트만 표시)
- 도움 요청·목격 제보 작성: 글쓰기에서 도움 요청·제보하기 선택, 사고 추정 시각·시간 범위·발생 장소·상황 설명 기반 요청(반경 500m 알림), 목격 내용 제보(익명 제보)
- 내 활동: 내가 쓴 요청·제보 내역 관리(전체/요청/제보 탭) 및 내 요청에 도착한 제보 확인
- 알림·운영: 반경 알림과 제보 도착 알림 수신(FCM), 게시물 신고·작성자 차단
2-5. 내가 가본 곳 (이동 결산)
- 이동 결산 메인: 연말·추석·설날 탭, 올해의 기록 요약, 공개 예정 미리보기
- 시도 단위 도식 지도: 17개 시도의 방문 지역 강조 및 이동 경로 표시 (실제 GPS 지도가 아닌 도식 지도)
- 방문 지역·대표 이동 경로·지난 기록 화면
2-6. 파인케어 (차량 관리)
- 차량 정보·정비 알림: 차량 정보 등록, 정비 시기 알림, 소모품별 정비 필요 항목 목록 및 교체 주기 설정
- 정비 영수증: 휴대폰 촬영·앨범 등록(image_picker 등), OCR 인식 결과 표 확인·수정 및 서버 업로드, 정비 이력 목록·상세
- 주유 내역: 영수증 촬영·직접 입력 및 주유소 위치 자동 인식 알림
리콜 안내 및 차량 관리 팁
2-7. 공통 연동
- 서버 연동: 서버 REST API 연동 및 오류 처리·재시도
- 지도·위치·알림: 지도 연동(사용 지도 API는 미정 — 추후 협의), 현재 위치 확인, 푸시 알림(FCM) 수신 및 해당 화면 이동, 카메라·사진·위치·알림 권한 처리
- 공통 화면 부품: 카드·타임라인·차트·빈 화면·오류 상태
3. 결과물
- 전체 Full Source Code (발주사 소유 저장소, pubspec.yaml 포함 빌드 가능한 프로젝트)
- 기능별 Flutter Package/Module 및 기능 검증용 Demo App
- S/W 설계서, 기능/모듈 단위 API 및 연동 문서, 시험 결과서
- 빌드·통합 가이드 (저희 개발팀이 이어받아 운영할 수 있는 수준)
[클라이언트 준비 사항]
- 준비된 것: 요구사항 명세서, UI 설계서 초안(가치봄·내가 가본 곳·파인케어·운전 점수 화면 포함), 추천·점수 산출·매칭·OCR 인식 등 서버 로직과 서버 API. 상세 자료는 미팅 신청 후 공유해 드립니다.
- 준비 중인 것: UI 설계서 확정본과 화면 디자인(약 1주 내 확정), 주행·주차 리포트 상세와 주정차 단속 화면 설계, 파인케어 정비 이력 양식, 내가 가본 곳 방문 판정 시나리오, 단속·주차장 데이터 제공처
- 이 프로젝트 담당: 사업본부 AI 사업팀이 요구사항·화면을 맡고, 사내 앱 개발팀이 홈·블랙박스 연동·영상 재생 기능을 같은 기간에 개발하며 파트너님 모듈의 통합을 함께 진행합니다.
[오픈 시점과 예산]
- 목표 시점: 11월 말 개발 완료. 전체 출시 일정은 마케팅 일정과 맞춰 확정할 예정이며, 인력을 더 투입해 기간을 줄이는 제안도 환영합니다.
- 희망 착수: 10월 초 개발 기간: 약 2.5개월
- 예산: 3,500만원 (부가세 별도, 6개 기능 전체 기준)
[제안 포함 필수 사항]
지원 내용은 아래 기준으로 검토합니다.
1. 저희가 정한 Flutter(Dart)·Riverpod 기반 MVVM 구조 위에서 사용할 주요 패키지(지도·차트·PDF·이미지 등)와 모듈 구성 방식, 그리고 그 선택 이유를 적어 주세요.
2. 어떤 부분이 완료되어야 이 프로젝트가 성공적으로 마무리되었다고 보시는지 전문가 의견을 적어 주세요.
3. 저희 개발팀과 같은 앱을 동시에 개발하면서 모듈을 연결·통합하는 방식과, 기능 일부를 내부로 가져올 때 떼어낼 수 있는 구조를 제안에 포함해 주세요. 두 팀이 한 앱을 함께 만드는 구조라 이 부분을 특히 중요하게 보고 있습니다.
4. 전체 금액과 함께 6개 기능(주행·주차 리포트, 운전 점수, 주정차 단속 알림, 가치봄, 내가 가본 곳, 파인케어)별 금액과 기간을 나누어 적어 주세요. 기능별 금액을 기준으로 외주 범위를 최종 조정하려 합니다.
5. Flutter로 출시·운영 중인 앱과, 발주사 개발팀과 한 저장소에서 협업한 경험이 있으면 함께 알려 주세요.