Skip to content

Go 교통 데이터 분석 플랫폼 개발 실전

개요

이 실전 프로젝트에서는 실제 PRD를 바탕으로 Go를 사용하여 교통 데이터 분석 플랫폼을 완성하게 됩니다. 이 프로젝트는 앞선 CRUD 시스템과는 다른 방향입니다. "데이터 수집 → 집계 → 알림 → 시각화"의 완전한 데이터 파이프라인을 구축해야 합니다. 이러한 데이터 제품은 IoT, 모니터링, 운영 분석 등의 시나리오에서 매우 흔하게 사용됩니다.

이 프로젝트는 Stage 2의 종합 실전环节이자, Go 언어를 처음으로 접하게 되는 프로젝트입니다. 걱정하지 마세요. 앞서 배운 JavaScript / TypeScript 기초가 있다면 Go를 배우는 것은 어렵지 않습니다. 중요한 것은 데이터 파이프라인의 설계 방식을 이해하는 것입니다.

사전 지식

이 프로젝트를 시작하기 전에 다음 내용을 이미 숙지하고 있어야 합니다:

학습 목표

이 실전을 완료하면 다음을 할 수 있게 됩니다:

  1. PRD를 읽고 데이터 제품의 개발 작업 목록을 추출하기
  2. Go(Gin 또는 Fiber)를 사용하여 백엔드 API 서비스 구축하기
  3. 데이터 수집, 윈도우 집계, 알림의 완전한 파이프라인 설계하기
  4. 백엔드 데이터와 프론트엔드 대시보드의 일관성 유지하기
  5. 엔드투엔드 연동 테스트를 완료하고 데모 가능한 데이터 제품 프로토타입을 전달하기

프로젝트 소개

구축할 제품은 Go 교통 데이터 분석 플랫폼입니다:

모듈역할
데이터 수집원시 교통 이벤트를 수신하여 데이터베이스에 저장합니다
데이터 집계시간 윈도우별로 트렌드와 혼잡 지표를 계산합니다
알림규칙 기반으로 알림 기록을 생성합니다
대시보드 표시프론트엔드에 트렌드 차트, 순위, 알림 목록을 표시합니다

PRD 입구

이 프로젝트의 요구사항 문서는 GitHub에 있습니다: PRD 보기

제1부: 요구사항 분석

1.1 PRD 읽기

PRD 문서를 열고 다음 질문에 중점적으로 답해보세요:

  • 데이터 출처는 무엇인가? 필드는 어떤 것들이 있는가?
  • 핵심 지표의 정의는 무엇인가? (예: "혼잡"의 구체적 기준)
  • 알림 규칙은 무엇인가? 첫 번째 버전에서 간단한 규칙으로 먼저 수렴하는가?
  • 대시보드에 어떤 페이지와 차트가 포함되는가?

WARNING

위 질문들에 명확한 답이 없다면, 코드 작성을 시작하지 마세요. 요구사항 이해가 불충분한 것은 재작업의 가장 흔한 원인입니다.

1.2 데이터 파이프라인 확인

mermaid
flowchart TD
  prd["PRD"] --> ingest["데이터 수집 API"]
  ingest --> raw["원시 데이터 테이블"]
  raw --> agg["집계 작업"]
  agg --> alert["알림 규칙"]
  agg --> dashboard["대시보드 API"]
  alert --> dashboard

제2부: 프로젝트 골격 구축

2.1 Go API 서비스 생성

프롬프트 참고:

text
현재 PRD를 바탕으로 Go 교통 데이터 분석 플랫폼 골격을 생성해 주세요.

요구사항:
1. Gin 또는 Fiber를 사용합니다
2. 데이터 수집 API를 제공합니다
3. 집계 작업 골격을 제공합니다
4. dashboard 및 alerts API 골격을 제공합니다
5. 복잡한 실제 분석은 아직 하지 않고, 실행 가능한 구조만 만듭니다

2.2 프로젝트 구조 확인

항목별 확인:

  • [ ] Go 서비스가 정상적으로 시작되는가
  • [ ] 데이터 수집 API가 데이터를 수신하고 저장할 수 있는가
  • [ ] 집계 작업 프레임워크가 구축되었는가
  • [ ] 프론트엔드 대시보드 페이지가 기본 차트를 표시할 수 있는가

제3부: 반복 개발

3.1 모듈별 진행

  1. 데이터 수집 API: 원시 교통 이벤트 수신, 데이터베이스에 기록
  2. 데이터 집계: 시간 윈도우별 집계, 트렌드 및 혼잡 지표 계산
  3. 알림 규칙: 임계값 기반 알림 기록 생성
  4. 대시보드 API: 트렌드 데이터, 순위 데이터, 알림 목록 제공
  5. 프론트엔드 대시보드: 트렌드 차트, 순위, 알림 목록 페이지

3.2 모듈 자체 점검

점검 항목검증 방법
데이터 수집원시 데이터가 올바르게 데이터베이스에 저장되는가
집계 정의트렌드, 순위 지표의 계산 로직이 일관성이 있는가
알림 규칙알림 트리거 조건이 예상과 일치하는가
데이터 일관성대시보드 표시와 백엔드 데이터가 일치하는가
API 규격통일된 응답 구조와 오류 처리가 있는가

제4부: 연동 및 배포

4.1 엔드투엔드 테스트

최소한 다음 시나리오를 검증하세요:

  • 테스트 데이터 수집 → 집계 작업 실행 → 대시보드 표시 업데이트
  • 알림 조건 트리거 → 알림 기록 생성 → 알림 페이지 표시

산출물

이 프로젝트를 완료한 후 다음을 제출해야 합니다:

  • [ ] 접근 가능한 온라인 데모 링크
  • [ ] 소스 코드 저장소 링크 (README 포함)
  • [ ] PRD 문서
  • [ ] 핵심 페이지 스크린샷 (데이터 수집 데모, 트렌드 대시보드, 알림 목록)
  • [ ] 60초 데모 영상

평가 기준

영역기본 요구사항심화 요구사항
PRD 정합성기능과 데이터 구조가 기본적으로 PRD에 부합지표 정의와 집계 로직을 명확히 설명할 수 있음
데이터 파이프라인수집 → 집계 → 알림 → 대시보드가 실행 가능집계 작업이 증분 업데이트를 지원함
분석 능력트렌드, 순위, 알림 세 모듈이 사용 가능지표 설정 가능, 알림 규칙 커스텀 가능
프론트엔드 표시대시보드가 기본 차트를 표시할 수 있음차트가 시간 범위 필터링을 지원함
엔지니어링 완성도Go API, 데이터베이스, 프론트엔드 체인이 연결됨API에 통일된 오류 처리와 로깅이 있음

참고 자료