iT邦幫忙

2026 iThome 鐵人賽

DAY 4
0
Build on Google AI

音樂節撞團怎麼辦?30 天用 Google AI 打造智慧排團助手系列 第 4

Day 4|音樂祭 timetable 看得懂,但要怎麼變成電腦看得懂的資料?

  • 分享至 

  • xImage
  •  

今天終於要開始處理資料了。

原本以為這件事很簡單,畢竟 timetable 上都已經寫得清清楚楚:

MITSKI
WHITE STAGE
22:10–23:40

人看到馬上就懂。

但如果之後要讓程式幫我判斷撞團、算舞台移動時間,再排出一整天的行程,就不能只丟一張 timetable 圖給它。

所以今天先來想一個很基本的問題:

一場音樂祭,到底有哪些資料是現在真的需要存的?

先不要什麼都存

一想到音樂祭資料,馬上可以列出一大堆東西:

藝人介紹、國家、曲風、照片、Spotify、舞台位置、票價、場地……

但這些現在大部分都用不到。

我目前只是想先讓系統知道:

誰、幾點、在哪裡演出。

所以第一版只抓三個東西:

Festival

這是哪一個音樂祭。

{
  "festival_id": "fuji-rock-2026",
  "name": "FUJI ROCK FESTIVAL '26"
}

Stage

有哪些舞台。

{
  "stage_id": "white-stage",
  "festival_id": "fuji-rock-2026",
  "name": "WHITE STAGE"
}

Performance

誰在什麼時間、哪個舞台演出。

{
  "artist": "MITSKI",
  "stage": "WHITE STAGE",
  "festival_day": "2026-07-26",
  "start_time": "22:10",
  "end_time": "23:40"
}

目前先這樣。

把三個東西放在一起,大概就是下面這個關係:

https://ithelp.ithome.com.tw/upload/images/20260918/20184278GH0mH9j7Ma.png

簡單來說,一個 Festival 可以有很多個 Stage,一個 Stage 又會有很多場 Performance。

之後真的需要更多東西,再加。

然後我又遇到 25:45

前幾天看 FUJI ROCK timetable 的時候,就發現它有一個很有趣的地方。

過了晚上 12 點,時間不會重新寫成 00:00、01:00,而是繼續:

24:40
25:45
27:00
29:00

平常看音樂祭 timetable 完全不會覺得有什麼問題。

看到 25:45,我知道就是「這天玩到凌晨 1:45」。

但現在要把它存進程式,問題就來了:

一天哪來的 25:45?😂

一般時間格式不會接受:

25:45

所以我得把「timetable 上顯示的時間」跟「實際日期時間」分開。

例如 FUJI ROCK 7 月 26 日這天:

ICHIRO YAMAGUCHI (sakanaction)
25:45–27:00

畫面上還是照原本 timetable 顯示:

25:45–27:00

但程式裡要知道,它真正的時間其實是:

7 月 27 日 01:45–03:00

所以資料可能會變成:

{
  "festival_day": "2026-07-26",
  "display_start_time": "25:45",
  "display_end_time": "27:00",
  "start_at": "2026-07-27 01:45",
  "end_at": "2026-07-27 03:00"
}

這樣使用者還是看到音樂祭原本的 25:45,不需要自己換算。

程式則拿真正的日期時間去算撞團和排序。

原來「音樂祭的一天」跟「日曆的一天」不一樣

如果只看日曆:

7/26 23:59
↓
7/27 00:00

一天就結束了。

但音樂祭不是。

對參加 FUJI ROCK 的人來說,凌晨 1 點、3 點,甚至 5 點的演出,可能都還算「7 月 26 日這一天」的行程。

所以我需要另外保留:

festival_day

它不是單純告訴我現在是幾月幾日,而是:

這場演出屬於音樂祭的哪一天。

這個問題如果我一開始沒有真的拿 FUJI ROCK timetable 來測,大概做到後面才會發現。

Must See 這些東西先不要混進來

另外一開始就提到的:

  • ❤️ Must See
  • ⭐ Want to See
  • 👀 Maybe
  • 能不能接受只看半場
  • 不想一直跑場

今天先不放進音樂祭資料裡。

因為:

MITSKI 22:10 在 WHITE STAGE 演出

這是所有人都一樣的事實。

但:

MITSKI 是我的 Must See

這是我的個人設定。

所以我先把它們分成兩邊:

音樂祭資料
Festival
Stage
Performance

跟:

使用者資料
想看的藝人
Must See / Want to See / Maybe
其他看團偏好

不然現在全部塞在一起,我自己應該會先亂掉。

Day 4:先把資料想清楚

所以今天最後要決定的東西其實很少。

第一版先需要:

Festival
├── Stage
└── Performance

每一場 Performance 至少知道:

藝人
舞台
Festival Day
顯示的開始時間
顯示的結束時間
真正的開始時間
真正的結束時間

目前還沒有 Firebase,也還沒有 Gemini。

明天就來試著把 FUJI ROCK 的真實 timetable 整理成第一批測試資料。

下集待續


上一篇
Day 3|如果排個音樂祭還要填 20 個設定,我乾脆自己排
下一篇
Day 5|終於開始弄 timetable:先做一份 FUJI ROCK 測試資料
系列文
音樂節撞團怎麼辦?30 天用 Google AI 打造智慧排團助手6
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言