Modul praktis Level 2 VibeKoding: Proyek: Analisis & Visualisasi Data Lalu Lintas (Go).Modul praktis Level 2 VibeKoding: Proyek: Analisis & Visualisasi Data Lalu Lintas (Go).
This project requires you to build a traffic data analysis platform using Go, based on a real PRD. Unlike previous CRUD systems, you'll build a complete data pipeline: "data ingestion โ aggregation โ alerting โ visualization." This type of data product is very common in IoT, monitoring, and operations analytics.This project requires you to build a traffic data analysis platform using Go, based on a real PRD. Unlike previous CRUD systems, you'll build a complete data pipeline: "data ingestion โ aggregation โ alerting โ visualization." This type of data product is very common in IoT, monitoring, and operations analytics.
This is the comprehensive practical section of Stage 2, and your first encounter with Go. Don't worry โ with your JavaScript/TypeScript background, learning Go isn't difficult. The focus is on understanding data pipeline design principles.This is the comprehensive practical section of Stage 2, and your first encounter with Go. Don't worry โ with your JavaScript/TypeScript background, learning Go isn't difficult. The focus is on understanding data pipeline design principles.
Before starting this project, you should already be familiar with:Before starting this project, you should already be familiar with:
After completing this project, you will be able to:After completing this project, you will be able to:
You will build a Go traffic data analysis platform:You will build a Go traffic data analysis platform:
| Module | Responsibility |
|---|---|
| Data Ingestion | Receive raw traffic events and store them |
| Data Aggregation | Calculate trends and congestion metrics by time window |
| Alerting | Generate alert records based on rules |
| Dashboard | Display trend charts, rankings, and alert lists on the frontend |
The requirements document for this project is on GitHub: [View PRD](https://github.com/datawhalechina/easy-vibe/blob/main/docs/en/stage-2/assignments/traffic-data-visualization-go/PRD.md)The requirements document for this project is on GitHub: [View PRD](https://github.com/datawhalechina/easy-vibe/blob/main/docs/en/stage-2/assignments/traffic-data-visualization-go/PRD.md)
{ title: 'Scaffold', description: 'Use AI to generate Go API service and frontend dashboard scaffold' },{ title: 'Scaffold', description: 'Use AI to generate Go API service and frontend dashboard scaffold' }, { title: 'Iterate', description: 'Add aggregation logic, alert rules, and dashboard APIs' },{ title: 'Iterate', description: 'Add aggregation logic, alert rules, and dashboard APIs' }, { title: 'Launch', description: 'End-to-end testing, deploy, and prepare demo' }{ title: 'Launch', description: 'End-to-end testing, deploy, and prepare demo' } ]" />]" />
Open the PRD document and answer these key questions:Open the PRD document and answer these key questions:
If the above questions don't have clear answers, don't start coding. Unclear requirements are the most common cause of rework.If the above questions don't have clear answers, don't start coding. Unclear requirements are the most common cause of rework.
mermaid flowchart TD prd["PRD"] --> ingest["Data Ingestion API"] ingest --> raw["Raw Data Table"] raw --> agg["Aggregation Task"] agg --> alert["Alert Rules"] agg --> dashboard["Dashboard API"] alert --> dashboard
Prompt reference:Prompt reference:
text Based on the current PRD, help me generate a Go traffic data analysis platform scaffold. Requirements: 1. Use Gin or Fiber 2. Provide data ingestion API 3. Provide aggregation task skeleton 4. Provide dashboard and alerts API skeleton 5. Don't implement real complex analysis yet, just runnable structure
Check each item:Check each item:
| Check Item | Verification Method |
|---|---|
| Data ingestion | Is raw data correctly stored in database? |
| Aggregation logic | Are trend and ranking metric calculations consistent? |
| Alert rules | Do alert trigger conditions match expectations? |
| Data consistency | Does the dashboard match the backend data? |
| API standards | Is there a unified response structure and error handling? |
At minimum, verify these scenarios:At minimum, verify these scenarios:
After completing this project, submit the following:After completing this project, submit the following:
| Dimension | Basic Requirements | Advanced Requirements |
|---|---|---|
| PRD Alignment | Features and data structures basically match PRD | Can clearly explain metric definitions and aggregation logic |
| Data Pipeline | Ingest โ Aggregate โ Alert โ Dashboard works end-to-end | Aggregation tasks support incremental updates |
| Analysis Capability | Trends, rankings, alerts all functional | Metrics configurable, alert rules customizable |
| Frontend Display | Dashboard shows basic charts | Charts support time range filtering |
| Engineering Completeness | Go API, database, frontend pipeline connected | API has unified error handling and logging |