尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證A web platform for music lovers to explore live concerts.
翻譯準備中
取自儲存庫 README
正在載入完整 README。 以下為已儲存的摘錄。
📝 Short Description
A web platform for music lovers to explore live concerts and setlists by artist, view past and upcoming shows, access ticket links, and save favorite artists. The app integrates data from Setlist.fm and Ticketmaster to deliver a seamless music event discovery experience.
💡 Problem It Solves
• Difficulty finding upcoming concerts for favorite artists.
• Lack of centralized access to historical setlists.
• Poor connection between concert discovery and ticket purchase.
🌟 Unique Value Propositions
• Combined real-time ticketing and historical concert data.檢視完整 README ↗A web platform for music lovers to explore live concerts and setlists by artist, view past and upcoming shows, access ticket links, and save favorite artists. The app integrates data from Setlist.fm and Ticketmaster to deliver a seamless music event discovery experience.
Difficulty finding upcoming concerts for favorite artists.
Lack of centralized access to historical setlists.
Poor connection between concert discovery and ticket purchase.
Combined real-time ticketing and historical concert data.
Artist-centered experience with customized curation.
Light, modern, and immersive UI/UX focused on music fans.
Frontend: React, React Router, TailwindCSS
Backend: Node.js, Express.js
APIs: Setlist.fm, Ticketmaster, Google Maps e Places, OpenStreetMap (Nominatim, Overpass), Wikipedia/Wikidata, LRCLib, Spotify, YouTube
Hosting: Github Pages + Render
São dois projetos npm independentes. Não há workspace na raiz: client/ e server/ têm
node_modules próprios e cada um precisa do seu npm install.
git clone [email protected]:gilabarreto/concertfyi2000.git && cd concertfyi2000
npm install --prefix client
npm install --prefix server
Depois, dois terminais:
cd server && npm run dev # Express na :4000 (nodemon)
cd client && npm run dev # Vite na :3000
O client precisa do servidor no ar: o Vite encaminha /api para localhost:4000. Abrir só o
client dá uma home que carrega e uma busca que não devolve nada.
Testado com Node 22. O CI usa Node 24 — não há engines fixando versão em nenhum dos dois lados.
O servidor existe por causa desta lista: é ele que fala com as APIs de terceiro, para que nenhuma
chave chegue ao browser. server/.env:
TICKETMASTER_API_KEY= SETLISTFM_API_KEY= YOUTUBE_API_KEY=
SPOTIFY_CLIENT_ID= SPOTIFY_CLIENT_SECRET= GOOGLE_PLACES_API_KEY= PORT=
client/.env — tudo aqui vai para dentro do bundle e é público por definição, então nada de
segredo:
VITE_API_BASE= VITE_GOOGLE_MAPS_KEY= VITE_FORMSPREE_ID= VITE_SPOTIFY_CLIENT_ID=
As do client também existem como secrets no GitHub, porque o build do deploy precisa delas.
npm run check # ~2,5s — segredo (staged) + formatação + lint + testes
npm run check:full # ~5s — o de cima + build do client
Rode antes do push. O check precisa do gitleaks no PATH. O CONSTRAINTS.md explica cada
número e por que ele é aquele — inclusive por que baixar um limite para o código passar não conta
como passar.
O deploy.yml roda a mesma coisa no CI antes do build: reprovou, o site não sobe. Uma vez por
semana, o weekly-checks.yml varre CVE nos dois lockfiles e bate no proxy, abrindo issue se algo
estiver errado.
Automático dos dois lados, a partir de um push no main:
| Parte | Onde | Como dispara |
|---|---|---|
| Client | GitHub Pages (concertfyi.com) | deploy.yml builda e publica client/dist na branch gh-pages |
| Server | Render | O próprio Render observa o main e redeploya sozinho — não há workflow neste repositório fazendo isso |
Ou seja: um push no main publica os dois. Não existe ambiente de staging.
Consulte o inventário de APIs, origem dos campos e fallbacks para revisar integrações e ideias. O API Lab (/api-lab) saiu do app em 2026-10-02: cumpriu o papel de comparar fontes. O código continua no git — git show 5445fdc mostra a última versão, e git checkout 5445fdc -- client/src/pages/ApiLab.jsx server/routes/apiLab.js traz de volta. Catálogo e receitas de cada chamada em docs/API_LAB_REFERENCIA.md.