new-term-radar
Daily radar for new AI terms: names of new models, products and repos, caught on X, Hugging Face, GitHub and sitemaps before keyword tools list them.
翻譯準備中
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證正在載入完整 README。 以下為已儲存的摘錄。
Plataforma B2C que conecta empresas e criadores de conteúdo. A aplicação pública, os fluxos autenticados e o backoffice fazem parte do mesmo projeto Next.js. O produto é um monólito modular em slices verticais: As rotas compõem APIs públicas das features. Autorização, transações e regras de negócio ficam no grafo server-side da própria slice; hooks isolam orquestração de interface; TanStack Query guarda estado remoto e Zustand é reservado a estado global efêmero de UI. Consulte Arquitetura por slices, propriedade de estado e DAL server-side.檢視完整 README ↗
Plataforma B2C que conecta empresas e criadores de conteúdo. A aplicação pública, os fluxos autenticados e o backoffice fazem parte do mesmo projeto Next.js.
O produto é um monólito modular em slices verticais:
src/app rotas e composição Next.js
src/features/<slice> UI, hooks, schemas, domínio e servidor da capacidade
src/shared infraestrutura e UI sem regra de negócio
src/db schema Drizzle e infraestrutura PostgreSQL
supabase/migrations fonte autoritativa da evolução do banco
e2e jornadas Playwright
As rotas compõem APIs públicas das features. Autorização, transações e regras de negócio ficam no grafo server-side da própria slice; hooks isolam orquestração de interface; TanStack Query guarda estado remoto e Zustand é reservado a estado global efêmero de UI. Consulte Arquitetura por slices, propriedade de estado e DAL server-side.
Stack principal: Next.js 16/React 19, TypeScript, Tailwind CSS 4, shadcn/ui, Supabase Auth/Postgres/Storage, Drizzle ORM, React Hook Form/Zod, Axios, TanStack Query, Zustand, Vitest e Playwright.
https://www.contentecreators.comcontente-creators-prdcontente-creators-prdmainkstbhqeiebutpfvswyla
(https://kstbhqeiebutpfvswyla.supabase.co)O domínio sem www pertence ao mesmo ambiente de produção e atualmente é
redirecionado pela Vercel para a origem canônica com www. URLs temporárias
*.vercel.app são identificadores de deployment e não devem ser usadas como
URL pública, origem de autenticação ou valor de NEXT_PUBLIC_APP_URL.
| Responsabilidade | Serviço |
|---|---|
| Build, deploy, CDN, domínio e cron | Vercel |
| Aplicação web e APIs | Next.js executado na Vercel |
| Cadastro, login, sessão e Google | Supabase Auth |
| Dados relacionais | Supabase Postgres, acessado com Drizzle ORM |
| Fotos, logos e mídias privadas | Supabase Storage |
| E-mails de autenticação | Supabase Auth com SMTP da Marques Branding |
| E-mails transacionais da aplicação | Next.js/Vercel com SMTP da Marques Branding |
| Evolução do banco | Migrations versionadas em supabase/migrations/ |
A integração Supabase/Vercel injeta as credenciais do projeto Supabase no projeto Vercel. Variáveis próprias da aplicação, como domínio, ambiente, SMTP, cron e contato de suporte, continuam sendo configuradas manualmente na Vercel. O guia completo e a tabela de mapeamento estão em Integração Vercel, Supabase e variáveis de ambiente.
| Ambiente | Aplicação/Vercel | Supabase | URL pública |
|---|---|---|---|
| Local | localhost:3000 | Supabase CLI/Docker | http://localhost:3000 |
| Development | contente-creators-dev | contente-creators-dev | domínio DEV isolado |
| Production | contente-creators-prd | contente-creators-prd | https://contentecreators.com |
DEV e PRD possuem projetos, bancos, usuários, objetos, chaves, OAuth e credenciais SMTP independentes. Nunca copie segredos ou dados de produção para outro ambiente.
Pré-requisitos: Node.js 24, npm 11, Docker e Git.
cp .env.example .env.local
npm install
npm run local:start
npm run dev
A aplicação estará em http://localhost:3000. O
Supabase Studio local estará em http://127.0.0.1:54323.
local:start e local:reset atualizam em .env.local somente as URLs/chaves
geradas pelo Supabase local e sincronizam as mídias sintéticas privadas. As
demais configurações do desenvolvedor, incluindo SMTP e a lista de admins,
são preservadas.
Serviços locais:
| Serviço | Endereço |
|---|---|
| Aplicação | http://localhost:3000 |
| Supabase API | http://127.0.0.1:54321 |
| PostgreSQL direto | postgresql://127.0.0.1:54322 |
| Supabase Studio | http://127.0.0.1:54323 |
| Caixa de e-mails do Auth | http://127.0.0.1:54324 |
| Caixa de e-mails transacionais | http://127.0.0.1:8025 |
Comandos principais:
npm run local:start
npm run local:status
npm run local:reset
npm run local:stop
npm run test
npm run test:integration:local
npm run test:e2e
npm run ci
Consulte Configuração dos ambientes para credenciais locais, administradores de teste, callbacks e serviços auxiliares.
Cada comportamento começa por um teste que falha, recebe a menor implementação necessária e termina com refatoração mantendo a suíte verde. Escolha o nível mais próximo do risco:
npm run test:unit
npm run test:component
npm run test:integration:local
npm run test:e2e
npm run test:a11y
Antes de integrar uma mudança, execute npm run ci. Esse comando verifica
formatação, lint, tipos, testes e build de produção. Mudanças de banco também
exigem a suíte local de integração. O fluxo detalhado está em
TDD workflow.
supabase/migrations/ é a única fonte autoritativa do schema compartilhado.drizzle-kit push não é usado em
DEV ou PRD.npm run local:reset recria apenas o Supabase local e aplica migrations e
seeds versionados.npm run vercel:build valida o alvo, aplica somente migrations pendentes
pela conexão direta e interrompe o deploy em caso de erro ou drift.Consulte Arquitetura de migrations e runbook de deploy.
Produção é publicada pela Vercel a partir de main. O comando oficial,
declarado em vercel.json, é:
npm run vercel:build
Em um build Vercel de produção autorizado, esse comando:
Não execute drizzle-kit push e não aplique alterações de schema manualmente
no dashboard. Consulte o
runbook de deploy e migrations.
Templates de e-mail, Site URL, redirect allowlist, rate limits e SMTP do Auth
são versionados em supabase/config.toml. O bloco [remotes.production]
guarda os valores de produção; tudo que ele não repete é herdado das seções
locais, inclusive os assuntos e os arquivos de supabase/templates/.
Pré-requisitos, executados uma única vez por máquina:
npx supabase login
cp supabase/.env.example supabase/.env
Preencha supabase/.env com as credenciais SMTP da Marques Branding usadas em
produção. O arquivo é ignorado pelo Git e resolve os env(...) do bloco de
produção. As chaves usam o prefixo SUPABASE_SMTP_, diferente do SMTP_ da
aplicação: a CLI deixa variável já exportada no shell sobrescrever o arquivo, e
sem o prefixo um terminal com o .env.local carregado publicaria o Mailpit
local em produção.
Antes de enviar, valide a conta SMTP:
npm run smtp:check -- [email protected]
Envie a configuração para o projeto hospedado:
npm run supabase:config:push
O comando imprime host, usuário e remetente que vai publicar, recusa valores
locais (127.0.0.1, remetente .test) e então chama a CLI, que mostra o diff
entre o projeto hospedado e o repositório e pede confirmação. Revise o diff:
ele aplica rate limits, Site URL, allowlist de redirect, SMTP e os cinco
templates de uma vez. Editar esses campos pelo dashboard cria divergência que o
próximo push desfaz.
| Sintoma | Verificação |
|---|---|
Build reclama de NEXT_PUBLIC_* | Confira o escopo das variáveis no projeto Vercel correto e faça novo deploy; valores públicos são incorporados no build. |
Runtime reclama de DATABASE_URL/DIRECT_URL | Confirme a integração Supabase/Vercel. POSTGRES_URL e POSTGRES_URL_NON_POOLING são aliases aceitos. |
| Login retorna ao endereço errado | Alinhe NEXT_PUBLIC_APP_URL, Supabase Site URL/Redirect URLs e o callback do cliente Google para o mesmo ambiente. |
| Banco local não sobe | Inicie o Docker, rode npm run local:status e, para dados descartáveis, npm run local:reset. |
| E-mail não chega localmente | Separe o inbox do Supabase Auth (54324) do Mailpit da aplicação (8025). |
| Deploy para depois de uma migration | Não force o build nem altere migration aplicada; siga o procedimento de roll-forward do runbook. |
| Catálogo/backoffice retorna acesso negado | Confirme sessão, papel, status, archive state e claims verificadas; esconder UI não substitui autorização. |
Segredos, URLs de banco, tokens e dados pessoais nunca devem ser copiados para logs, tickets ou documentação. Os bloqueios ainda dependentes do cliente estão em launch blockers.