尚未检测到更新。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.