MyGo 云音乐
用 Go 与 MyGo 写成的第三方网易云音乐桌面客户端。原生界面,没有 WebView;边下边播,无损与 Hi-Res,逐字歌词与「律动」,刘海播放器。
Translation pending
Todos os produtos da semana citados no podcast Papo na Arena por Arthur e Aíquis: rankings, episódios, categorias e quem recomendou o quê.
Translation pending
MediaTypeScript · HTMLGitHub @bronzeOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Papo na Arena: Produtos da Semana (Replit)
Translation pending
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
Radar dos produtos da semana citados no podcast Papo na Arena: ranking dos mais mencionados, episódios, categorias e o que cada pessoa recomendou. Este site foi feito com Replit. O que dá para fazer no siteRead the full README ↗
Radar dos produtos da semana citados no podcast Papo na Arena: ranking dos mais mencionados, episódios, categorias e o que cada pessoa recomendou.
Acesse: https://paponaarena-produtosdasemana.replit.app
Ouça o podcast: Spotify · YouTube
Este site foi feito com Replit.
DESIGN.md).| Camada | Tecnologias |
|---|---|
| Front-end | React 18, TypeScript, Vite, wouter (rotas) |
| UI | Tailwind CSS, shadcn/ui (Radix UI), Recharts, Lucide |
| Servidor | Node.js, Express 5 (serve o app e gera sitemap.xml e o HTML de cada rota) |
| Analytics | PostHog (opcional) |
Os dados do podcast ficam no próprio código (client/src/lib/data.ts). Não há banco de dados nem chamadas de API para o conteúdo. O esquema de banco em shared/schema.ts existe, mas não é usado pelo app.
Requisitos: Node.js 20 ou superior e npm.
git clone https://github.com/bronze/paponaarena-produtosdasemana-replit.git
cd paponaarena-produtosdasemana-replit
npm install
npm run dev
O app abre em http://localhost:5000 (use a variável PORT para trocar a porta).
Crie um arquivo .env na raiz para ativar o PostHog:
VITE_POSTHOG_KEY=...
VITE_POSTHOG_HOST=...
Sem elas, o app funciona normalmente e o PostHog simplesmente não é iniciado. O .env está no .gitignore.
| Comando | O que faz |
|---|---|
npm run dev | Servidor de desenvolvimento (Express + Vite com HMR) |
npm run build | Valida os dados e gera o build de produção em dist/ |
npm start | Roda o build de produção (dist/index.cjs) |
npm run check | Checagem de tipos (tsc) |
npm run check:data | Valida a consistência de data.ts (ids, menções, hosts/cohosts) |
client/
index.html # metadados padrão do site
public/ # robots.txt, imagens e arquivos estáticos
src/
pages/ # dashboard, episódios, produtos, categorias, pessoas, sobre
components/ # UI (shadcn/ui), sidebar, SEO por rota
lib/
data.ts # TODOS os dados: episódios, produtos, pessoas, menções
data-utils.ts # agregações e rankings
seo.ts # title, description, canonical e JSON-LD por rota
server/
index.ts # Express
seo.ts # sitemap.xml e validação de rotas (404 real)
prerender.ts # injeta head e conteúdo de cada rota no HTML
script/
build.ts # build do cliente (Vite) e do servidor (esbuild)
check-data.ts # validação dos dados
attached_assets/ # avatares e áudios usados nas páginas de pessoa
Tudo vive em client/src/lib/data.ts, em quatro listas:
| Entidade | Campos principais |
|---|---|
Episode | id, title, date, description, hosts, cohosts?, youtubeLink?, spotifyLink? |
Product | id, name, category, url?, parentId?, alsoCredits? |
Person | id, name, linkedinUrl? |
Mention | id, episodeId, personId, productId, context? |
Papéis nos episódios
hosts: quem apresenta o episódio (normalmente Arthur e Aíquis, mas é preenchido a cada episódio, sem padrão implícito).cohosts: convidados que participam ao vivo, no palco ou em call.hosts nem em cohosts: aparece só nas menções, como "Comunidade".Regras de contagem (em data-utils.ts)
parentId é uma variação: as menções contam para o produto pai, e a variação não aparece nos rankings.alsoCredits é um combo: uma menção credita todos os produtos listados.Em client/src/lib/data.ts, adicione o episódio ao final de episodes, com hosts (e cohosts, se houver).
Cadastre em people e products quem ou o que ainda não existir (ids em kebab-case, sem acento).
Adicione as menções ao final de mentions, com ids no formato m{episodio}-{n} (ex.: m137-1).
Valide:
npx tsc && npm run check:data
Quem usa o Claude Code pode automatizar as menções com o comando /add-produtos, definido em .claude/commands/add-produtos.md.
O site é uma SPA, mas cada rota sai do servidor com HTML pronto para buscadores e prévias de link:
<head> por página (title, description, canonical, Open Graph, Twitter Card);WebSite, PodcastSeries, PodcastEpisode, BreadcrumbList);sitemap.xml gerado a partir dos dados e robots.txt;O plano e o que já foi feito estão em seo-todo.md.
O deploy é feito no Replit (autoscale):
npm run buildnode ./dist/index.cjsO sitemap e o HTML das rotas são gerados quando o servidor sobe, então basta republicar depois de alterar os dados.
replit.md: visão geral da arquitetura do projeto.posthog-setup-report.md: eventos de analytics instrumentados.Sugestões e correções são bem-vindas. Se encontrou uma menção errada, um produto faltando ou uma pessoa duplicada, abra uma issue ou um pull request alterando client/src/lib/data.ts. Rode npx tsc && npm run check:data antes de enviar.
MIT, conforme o campo license do package.json.