💻 쇼핑몰 자동화 & 웹 개발 가이드

[쇼핑몰 개발] 관리자 통계 대시보드 & 자동화 스케줄링 설계

rhandy 2025. 5. 31. 07:10
728x90

운영자가 원하는 건 기능이 아니라 ‘숫자’입니다. 매출은? 정산은? 포인트는? 쿠폰은? 이제 진짜 운영자가 매일 보는 관리자 대시보드를 만들 차례입니다.

안녕하세요! 이번 글에서는 운영자가 매일 확인하는 통계 요약 대시보드 + 자동화 스케줄러를 Laravel + Vue 조합으로 구현해보겠습니다. 이 시스템의 핵심은 아래 2가지입니다: - 한눈에 보는 요약 통계 (주문 수, 매출, 정산 대기, 리뷰 수 등) - 반복되는 운영 루틴의 자동화 (구매확정, 쿠폰 만료, 랭킹 갱신 등) 운영자가 로그인하면 바로 오늘의 핵심 지표를 보고 일일 보고서도 자동으로 생성되는 구조. 이게 바로 운영 효율 + 데이터 통제권을 갖춘 시스템입니다. 특히 Laravel Schedule + Queue + Job 구조를 기반으로 밤 12시 자동 집계 → 아침엔 완성된 통계 제공까지 자동으로 돌려보겠습니다.

관리자 대시보드 요약 지표 구성

운영자가 로그인했을 때 가장 먼저 보는 화면은 통계입니다. 아래처럼 핵심 지표를 카드 형식으로 요약해서 표시하면, 운영자가 하루의 상황을 5초 안에 파악할 수 있습니다.

지표 설명
오늘 매출액 오늘 발생한 총 결제 금액
신규 회원 수 오늘 가입한 회원 수
주문 수 금일 접수된 주문 건수
정산 대기 구매확정된 주문 중 정산 대기 금액
리뷰 작성 수 오늘 등록된 리뷰 수

이 지표는 Laravel에서 Order, User, Review 모델을 기준으로 Carbon::today() 조건으로 집계하고, Vue 대시보드에서는 카드 컴포넌트 + Chart.js로 표현하면 좋습니다.

Schedule + Job + Cache 자동화 설계

매일 자정에 모든 지표를 미리 계산하고 캐시에 저장하면, 관리자가 아침에 대시보드 접속할 때 빠르게 로딩됩니다.

  • 스케줄: app/Console/Kernel.php$schedule->job(GenerateDashboardMetrics::class)->dailyAt('00:10');
  • Job: 지표 계산 → Cache::put('dashboard.metrics', [...], now()->addDay())
  • Vue: API로 캐시된 데이터만 조회 → 실시간 속도 확보

Queue로 병렬 계산을 분산하거나, 필요한 경우 Redis에 저장해 성능도 고려합니다. 지표는 “미리 준비해두는 것”이 UX 핵심입니다.

Vue 기반 그래프/차트 시각화

데이터를 숫자로만 보여주는 것보다, 시계열 추이와 비율을 시각적으로 표현하는 것이 운영자 UX에 훨씬 효과적입니다.

  • 매출 추이: 7일/30일 단위 라인 차트
  • 주문 상태 분포: 원형 차트 (pending / 배송 중 / 완료 등)
  • 회원 가입 수: 막대 차트
  • 일별 리뷰 수: 누적 꺾은선 그래프

Vue에서는 Recharts 또는 Chart.js 컴포넌트 기반으로 <LineChart>, <PieChart>, <BarChart>를 손쉽게 렌더링할 수 있습니다. API 응답을 받으면 `:data="metricsData"` 형태로 바로 바인딩 가능하고, Tailwind CSS로 시각 스타일도 통일할 수 있습니다.

매일 아침 자동 발송되는 운영 리포트

자정에 계산된 지표를 기반으로 운영자 이메일로 전일 매출/주문/리뷰 통계를 요약하여 자동 발송할 수 있습니다.

  • php artisan make:mail DailyReportMail
  • 메일 템플릿에 지표 바인딩 (HTML + 테이블)
  • SendDailyReport::class Job → 운영자에게 전송
  • 발송 시간은 매일 오전 7시 등으로 설정

Laravel의 Mail 시스템과 Schedule 기능을 결합하면 운영자는 매일 아침 이메일로 모든 데이터를 확인할 수 있고, 출근하자마자 대시보드를 열지 않아도 됩니다.

운영자가 좋아하는 알림 & 공지 시스템

운영자 대시보드에는 숫자 외에도 즉시 처리해야 할 알림이 함께 표시되면 좋습니다. 예를 들면 다음과 같습니다.

  • 어제 리뷰 포인트 누락 발생 → 알림 카드 표시
  • 정산 대기 금액 1백만 원 이상 → 경고 배너 출력
  • 쿠폰 유효기간 만료 3일 전 → 운영자 알림 표시
  • 신규 회원 급증 → 관리자 Slack 메시지 연동

이 알림은 Laravel notifications 시스템을 기반으로 Vue에서는 상단 배너 또는 Alert 카드 컴포넌트로 실시간 표시하면 UX가 매우 좋습니다.

운영 크론 작업 구성 체크리스트

아래는 실제 운영에서 가장 많이 쓰이는 크론 자동화 작업 리스트입니다.

  • 구매확정 자동 처리: 배송완료 후 7일 지나면 자동 확정
  • 쿠폰 자동 만료 처리: 유효기간 지난 쿠폰 비활성화
  • 회원 등급 갱신: 매주 일요일 00시 일괄 등급 체크
  • 리뷰 포인트 지급: 리뷰 작성 시 포인트 누락 여부 검사
  • 상품 랭킹 갱신: 주간 판매량 기준 랭킹 업데이트

이 모든 작업은 Kernel.php에서 Job으로 스케줄링하고, 별도의 log 테이블 또는 Slack 통합으로 모니터링하면 됩니다. 운영 자동화는 반복 업무를 줄이고, 운영자 시간을 아껴주는 최고의 기술입니다.

 

운영자는 숫자로 말합니다. 오늘 매출, 어제 리뷰 수, 남은 정산 금액, 포인트 누락 건… 이런 걸 매일 한눈에 확인할 수 있어야 진짜 운영 시스템입니다. 이번 11편에서는 Laravel + Vue 조합으로 통계 대시보드 + 자동화 크론 작업을 만들어봤습니다. 지금까지 만들어온 기능들이 하나씩 잘 쌓였다면, 이제는 이 데이터들을 기반으로 운영자가 행동할 수 있게 해주는 구조를 만들 차례입니다. 💡 이 시스템은 단순히 숫자를 보여주는 것이 아닙니다. - 통계를 요약해서 바로 전달하고 - 자동화된 로직으로 누락을 줄이고 - 슬랙/메일/UI에서 즉시 피드백을 주는 운영자 중심의 완성도 높은 시스템이에요. 다음 편에서는 입점형 쇼핑몰 확장 구조 (파트너사/셀러/상품 위임)을 소개할 예정입니다. B2B + B2C 구조까지 확장하고 싶은 분들께 강력 추천드립니다! 항상 으샤으샤입니다! 감사합니다 🙌

728x90