홈 대시보드
앱 진입 즉시 “오늘 먼저 봐야 할 차량·손해 위험 차량·예상 마진”을 5초 안에 파악.
- 요약 2×2: 판매중·상품화중·60일+·이번달 예상마진
- 우선 차량 Hero: 리스크·마진·위험사유 + 상세/가격수정/급매검토
- 오늘 처리할 일 태스크 · 위험순 재고(4정렬)
- 위험점수 =
riskWeight×100 − 마진율
Product Requirements · 리버스 엔지니어링
중고차 딜러·상사를 위한 재고·손익·상품화 통합 관리 앱 — “지금 팔면 얼마 남는지”를 5초 안에 보여주는 재고 손익 레이더
중고차 딜러·상사(매매상사)를 위한 모바일 우선 재고·손익·상품화 통합 관리 앱. 홈 화면 타이틀 그대로 “재고 손익 레이더”를 지향하며, 무엇을 먼저 조치해야 하는지를 즉시 드러낸다.
| 사용자 | 핵심 가치 |
|---|---|
| 딜러 | “지금 팔면 남는 돈”·“먼저 조치할 차” 즉시 파악, 상품화 진행률 관리, 매입~판매 전 과정 기록 |
| 상사 대표 | 소속 딜러 전체의 악성재고·비용누락·역마진 리스크와 월 고정비 정산 현황을 대시보드로 관리 |
| 관리자 | 딜러 가입 승인, 전체 재고 조회, 보험 제휴 배너·클릭 로그 관리 |
| 제휴(수익화) | 판매 고객·시승 차량을 다이렉트 자동차보험(스마트접수·원데이보험)으로 연결 |
서버·DB·백엔드 API 없음. 시드 차량 15대·딜러 4명. 다중 기기/동시성 미지원.
단일 고정 사용자(채민주·위드카). “로그아웃”은 토스트만 표시.
“대표자 전용·관리자”는 UI 문구뿐, 코드상 접근 제어 부재. → §9 참조.
카모두는 1.4초 지연 후 하드코딩 3대 추가, 보험은 외부 URL 딥링크만 존재.
역할(Dealer.role)은 4종이며 가입 승인 플래그(approved)를 갖는다. me 객체 자체에는 role이 없고 dealers 배열에서 me.id로 역할을 조회한다.
| 시드 딜러 | 역할 | 승인 | 소속 |
|---|---|---|---|
| 채민주 (me) | 딜러 | 승인 | 위드카 |
| 박사무 | 사무장 | 승인 | 위드카 |
| 이대표 | 상사대표 | 승인 | 위드카 |
| 신입딜러 | 딜러 | 대기 | 위드카 |
현재 대표자 관리·관리자 화면은 누구나 진입 가능하며, 승인 워크플로우(approved 토글)는 관리자 화면에만 존재한다.
| 구분 | 항목 |
|---|---|
| 일회성 | 탁송 · 성능 · 수리 · 도색 · 광택 · 광고 · 기타 |
| 정기 지출 | 금융이자(월 1회분) + 납입일 · 주차비(월 1회분) + 납입일 |
| 금융 상세 | 원금 · 이율(%) · 모드(percent / manual) |
monthsAccrued)만큼 자동 누적, 미설정이면 1회분만 반영된다. 즉 보유 기간이 길수록 실질원가가 자동 증가해 악성 재고의 마진 잠식이 계산에 내장돼 있다.| 등급 | 조건 | 표기 |
|---|---|---|
| safe | < 30일 | 정상 |
| warn | ≥ 30일 | 주의 30일+ |
| danger | ≥ 60일 | 위험 60일+ |
| urgent | ≥ 90일 | 긴급 90일+ |
리스크 등급은 오직 보유일수로 결정된다(마진 무관). 마진·체크리스트는 홈의 “위험 사유 태그”와 정렬 점수에만 반영된다.
{ id, name, phone, sangsa, role, approved }{ kind: smart_claim | one_day, vehicleId?, at } · 보험 클릭 로그(최대 200개){ title, subtitle, url } · 관리자에서 편집 → 보험연결에서 소비하단 5탭 고정 내비게이션: 홈 · 내 차량 · 상품화 · 손익 · 더보기
| 화면 | 경로 | 진입 | 탭 |
|---|---|---|---|
| 홈 대시보드 | / | 앱 진입 | 홈 |
| 내 차량 목록 | /vehicles | 탭 | 내 차량 |
| 차량 상세 | /vehicles/$id | 목록·홈·손익·알림 전방위 | — |
| 차량 등록 | /vehicles/new | 목록 +, 빈 상태 CTA | — |
| 상품화 | /prep | 탭 | 상품화 |
| 손익 | /profit | 탭, 상세 “전체 손익” | 손익 |
| 대표자 관리 | /executive | 더보기 → | — |
| 보험 연결 | /insurance | 홈·상세 유도 | — |
| 알림 | /notifications | 홈 벨, 더보기 | — |
| 더보기/프로필 | /profile | 탭 | 더보기 |
| 관리자 | /admin | 더보기 → | — |
앱 진입 즉시 “오늘 먼저 봐야 할 차량·손해 위험 차량·예상 마진”을 5초 안에 파악.
riskWeight×100 − 마진율재고 전체를 검색·상태필터·정렬로 훑고 상세로 진입.
정보 수정·상태 변경·비용 입력·손익·체크리스트·보험·삭제를 모두 처리하는 허브.
신규 매입 차량을 재고에 추가.
상품화 진행 중 차량의 체크리스트 진행률과 남은 작업을 한 화면에서 파악.
상품화중 · 매입완료 (소유 필터 없음)“지금 팔면 얼마 남는지·무엇을 조치할지” 분석. 딜러 소유 재고 기준.
소속 딜러 전체의 운영 리스크와 월 고정비 수취(“받을 돈”)를 관리·정산.
판매 고객·시승 차량을 다이렉트 보험으로 연결하고 클릭 기록.
?plate= 딥링크)활성 재고를 규칙 기반 5개 그룹으로 자동 분류해 조치 우선순위 제시.
프로필·소속·권한 확인 및 앱 설정 허브.
회원 승인·전체 차량·배너·클릭 로그 관리 콘솔.
각 화면의 전체 액션·데이터 필드·규칙은
docs/PRD.md 원문에 상세 수록
| 연동 | 현황 | 비고 |
|---|---|---|
| 카모두 (경매 전산) | 목업 | 프로필에서 계정 입력 → 낙찰 차량 자동 임포트(현재 하드코딩 3대). 실 API 연동 필요. |
| 스마트접수 (다이렉트 보험) | 딥링크 | smartClaim.url?plate=…&sold=1, 클릭 로그 기록. |
| 원데이보험 | 딥링크 | oneDay.url?plate=…, 시승·이동 시 1일 단위 가입 유도. |
최대 폭 max-w-md, 하단 고정 5탭, safe-area 대응. 별도 데스크톱 레이아웃 없음.
원화 표기(억/만원), ko-KR 날짜.
SSR + 하이드레이션, 이미지 lazy 로딩, 저장 시 토스트 피드백.
다중 기기·동시성·백업 없음 → 실서비스 전 백엔드 필요.
전부 localStorage 목업, 단일 사용자. 실서비스 불가, 다중 사용자/기기 미지원. 전역
대표자/관리자 화면 누구나 접근. 역할 기반 보안 필요. executive · admin
마진 계산 우선 필드인데 수정 불가, 항상 희망가로 계산. “가격수정”도 #price 스크롤만. 전역
하드코딩 8명 + 해시 분배, store.dealers·dealerId 미연동 → 실 정산 불일치. executive
상세·등록엔 존재하나 목록 필터에서 빠짐. vehicles.index
둘 다 보유일 내림차순으로 동일 로직. vehicles.index
히어로에서 동일 값(realCost)을 라벨만 달리해 두 번 노출. vehicles.$id
실제 세션/실 API 없음. profile
보험 링크·logClick 없이 차량 상세로만 이동. notifications
dealerId 기반 실 딜러/재고 집계, 고정비 서버 저장 G460일+·90일+ 악성재고 비율 감소.
비용 누락 차량 비율 ↓ (입력 완성도 ↑).
매입→판매등록 소요, 체크리스트 완료율.
미납 딜러 수 감소(대표자).
스마트접수·원데이 클릭·전환, 차량당 유도율.
등록 차량 수, 세션당 조치 완료 건수.