diff --git a/CHANGELOG.md b/CHANGELOG.md index 5986534..b5f91e0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,25 @@ e este projeto adere ao [Versionamento Semântico](https://semver.org/lang/pt-BR ## [Unreleased] +## [2.4.0] - 2026-04-13 + +### Adicionado + +- Estabelecimentos: integração com Logo.dev — logos automáticos de marcas exibidos na coluna de estabelecimentos nos lançamentos +- Estabelecimentos: picker de logo por estabelecimento — clique no avatar para buscar e fixar um domínio Logo.dev específico (salvo por usuário no banco) +- API: rotas `/api/logo/search` e `/api/logo/mapping` — proxy seguro para Logo.dev Brand Search API (secret key server-side) e consulta de mapeamentos salvos +- Schema: tabela `establishment_logos` com PK composta `(user_id, name_key)` para persistir preferências de logo por usuário + +### Corrigido + +- Dev: `.env.example` usava host `db` no `DATABASE_URL`, causando erro `EAI_AGAIN` ao rodar `pnpm dev` localmente — corrigido para `localhost` + +### Documentação + +- README: tabela comparativa entre Perfil 1 (Usar) e Perfil 2 (Desenvolver) com diferenças de setup, `DATABASE_URL` e instruções de atualização +- README: seção "Variáveis de Ambiente" esclarecida — distingue contexto Docker (Perfil 1) de desenvolvimento local (Perfil 2) +- Logo.dev: crie uma conta em logo.dev para obter as chaves `NEXT_PUBLIC_LOGO_DEV_TOKEN` e `LOGO_DEV_SECRET_KEY` — plano gratuito inclui 500.000 requisições/mês + ## [2.3.8] - 2026-04-12 ### Alterado diff --git a/README.md b/README.md index 46d512b..66f8099 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ > **⚠️ Não há versão online hospedada.** Você precisa clonar o repositório e rodar localmente ou no seu próprio servidor. -[![Version](https://img.shields.io/badge/version-2.3.8-blue?style=flat-square)](CHANGELOG.md) +[![Version](https://img.shields.io/badge/version-2.4.0-blue?style=flat-square)](CHANGELOG.md) [![Next.js](https://img.shields.io/badge/Next.js-black?style=flat-square&logo=next.js)](https://nextjs.org/) [![TypeScript](https://img.shields.io/badge/TypeScript-blue?style=flat-square&logo=typescript)](https://www.typescriptlang.org/) [![PostgreSQL](https://img.shields.io/badge/PostgreSQL-blue?style=flat-square&logo=postgresql)](https://www.postgresql.org/) @@ -107,6 +107,20 @@ A ideia é simples: ter um lugar onde consigo ver todas as minhas contas, cartõ Escolha o perfil que corresponde ao seu objetivo: +| | Perfil 1 — Usar | Perfil 2 — Desenvolver | +|---|---|---| +| **Objetivo** | Rodar o app pronto | Modificar o código | +| **Clonar repositório** | Não | Sim | +| **Node.js / pnpm** | Não | Sim (Node 22+) | +| **Docker** | Sim | Sim | +| **Como iniciar** | `docker compose up -d` | `pnpm docker:db` + `pnpm dev` | +| **App roda em** | Container Docker | Host local (hot-reload) | +| **Banco roda em** | Container Docker | Container Docker | +| **`DATABASE_URL` (host)** | `db` (automático pelo compose) | `localhost` | +| **Banco remoto (Supabase, Neon...)** | Sim (`docker compose up -d app`) | Sim (ajustar `DATABASE_URL`) | +| **Como atualizar** | `pnpm docker:update` | `git pull` + `pnpm install` + `pnpm db:push` | +| **Indicado para** | Self-hosting, VPS, servidor | Contribuidores, customizações | + --- ### Perfil 1 — Usar (self-hosting) @@ -148,6 +162,16 @@ sudo sh install-deps.sh > Ao final, faça **logout e login** para as permissões do grupo `docker` terem efeito. +#### Atualizando (Perfil 1) + +```bash +pnpm docker:update +# ou equivalente: +docker compose pull && docker compose up -d +``` + +O schema do banco é aplicado automaticamente no startup — nenhum passo extra necessário. + --- ### Perfil 2 — Desenvolver @@ -166,7 +190,8 @@ pnpm install # 3. Configure o ambiente cp .env.example .env -# Edite o .env com suas configurações +# O DATABASE_URL já vem com host "localhost" (correto para dev local). +# Edite o .env com suas configurações (BETTER_AUTH_SECRET, etc.) # 4. Suba o banco pnpm docker:db @@ -185,6 +210,16 @@ Acesse em: `http://localhost:3000` Toda vez que salvar um arquivo, o app atualiza automaticamente sem precisar reiniciar. +#### Atualizando (Perfil 2) + +```bash +git pull +pnpm install # instala dependências novas, se houver +pnpm db:push # aplica mudanças de schema, se houver +``` + +O `pnpm dev` já em execução detecta as mudanças de código automaticamente — não precisa reiniciar. + --- ## 📜 Scripts Disponíveis @@ -357,11 +392,15 @@ S3_BUCKET= ## 🔐 Variáveis de Ambiente -Copie `.env.example` para `.env` e configure: +**Perfil 2 (dev):** copie `.env.example` para `.env` — o `DATABASE_URL` já vem com `localhost`, pronto para uso com `pnpm dev`. + +**Perfil 1 (Docker):** não precisa definir `DATABASE_URL` — o compose já configura automaticamente com host `db`. Só defina se usar banco remoto (Supabase, Neon, etc.). ### Obrigatórias ```env +# Perfil 2 (dev): host "localhost" — o banco roda em container, o app no host +# Perfil 1 (Docker): não precisa definir — o compose usa "db" automaticamente DATABASE_URL=postgresql://openmonetis:openmonetis_dev_password@localhost:5432/openmonetis_db BETTER_AUTH_SECRET=seu-secret-aqui # openssl rand -base64 32 BETTER_AUTH_URL=http://localhost:3000 diff --git a/public/images/dashboard-preview-dark.webp b/public/images/dashboard-preview-dark.webp index 40815de..6f8d164 100644 Binary files a/public/images/dashboard-preview-dark.webp and b/public/images/dashboard-preview-dark.webp differ diff --git a/public/images/dashboard-preview-light.webp b/public/images/dashboard-preview-light.webp index f463179..6852577 100644 Binary files a/public/images/dashboard-preview-light.webp and b/public/images/dashboard-preview-light.webp differ diff --git a/public/images/preview-lancamentos-dark.webp b/public/images/preview-lancamentos-dark.webp index faece64..6c7f018 100644 Binary files a/public/images/preview-lancamentos-dark.webp and b/public/images/preview-lancamentos-dark.webp differ diff --git a/public/images/preview-lancamentos-light.webp b/public/images/preview-lancamentos-light.webp index b0adbda..209d872 100644 Binary files a/public/images/preview-lancamentos-light.webp and b/public/images/preview-lancamentos-light.webp differ