diff --git a/CHANGELOG.md b/CHANGELOG.md index a905893..0cbfcf5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,28 @@ Todas as mudanças notáveis deste projeto serão documentadas neste arquivo. O formato é baseado em [Keep a Changelog](https://keepachangelog.com/pt-BR/1.1.0/), e este projeto adere ao [Versionamento Semântico](https://semver.org/lang/pt-BR/). +## [1.5.2] - 2026-02-16 + +### Alterado + +- Landing page reformulada: visual modernizado, melhor experiência mobile e novas seções +- Hero section com gradient sutil e tipografia responsiva +- Dashboard preview sem bordas para visual mais limpo +- Seção "Funcionalidades" reorganizada em 2 blocos: 6 cards principais + 6 extras compactos +- Seção "Como usar" com tabs Docker (Recomendado) vs Manual +- Footer simplificado com 3 colunas (Projeto, Companion, descrição) +- Métricas de destaque (widgets, self-hosted, stars, forks) entre hero e dashboard preview +- Espaçamento e padding otimizados para mobile em todas as seções + +### Adicionado + +- Menu hamburger mobile com Sheet drawer (`components/landing/mobile-nav.tsx`) +- Animações de fade-in no scroll via Intersection Observer (`components/landing/animate-on-scroll.tsx`) +- Seção dedicada ao OpenMonetis Companion com screenshot do app, fluxo de captura e bancos suportados +- Galeria "Conheça as telas" com screenshots de Lançamentos, Calendário e Cartões +- Link "Conheça as telas" na navegação (desktop e mobile) +- Componente de tabs para setup (`components/landing/setup-tabs.tsx`) + ## [1.5.1] - 2026-02-16 ### Alterado diff --git a/app/(landing-page)/page.tsx b/app/(landing-page)/page.tsx index b8bbd2b..444496f 100644 --- a/app/(landing-page)/page.tsx +++ b/app/(landing-page)/page.tsx @@ -3,6 +3,7 @@ import { RiBankCard2Line, RiBarChartBoxLine, RiCalendarLine, + RiCheckLine, RiCodeSSlashLine, RiDatabase2Line, RiDeviceLine, @@ -10,13 +11,18 @@ import { RiEyeOffLine, RiFileTextLine, RiFlashlightLine, + RiGitBranchLine, RiGithubFill, + RiLayoutGridLine, RiLineChartLine, RiLockLine, + RiNotification3Line, RiPercentLine, RiPieChartLine, RiRobot2Line, RiShieldCheckLine, + RiSmartphoneLine, + RiStarLine, RiTeamLine, RiTimeLine, RiWalletLine, @@ -25,26 +31,130 @@ import { headers } from "next/headers"; import Image from "next/image"; import Link from "next/link"; import { AnimatedThemeToggler } from "@/components/animated-theme-toggler"; +import { AnimateOnScroll } from "@/components/landing/animate-on-scroll"; +import { MobileNav } from "@/components/landing/mobile-nav"; +import { SetupTabs } from "@/components/landing/setup-tabs"; import { Logo } from "@/components/logo"; import { Badge } from "@/components/ui/badge"; import { Button } from "@/components/ui/button"; import { Card, CardContent } from "@/components/ui/card"; import { getOptionalUserSession } from "@/lib/auth/server"; +const mainFeatures = [ + { + icon: RiWalletLine, + title: "Contas e transações", + description: + "Registre suas contas bancárias, cartões e dinheiro. Adicione receitas, despesas e transferências. Organize por categorias. Extratos detalhados por conta.", + }, + { + icon: RiPercentLine, + title: "Parcelamentos avançados", + description: + "Controle completo de compras parceladas. Antecipe parcelas com cálculo automático de desconto. Veja análise consolidada de todas as parcelas em aberto.", + }, + { + icon: RiRobot2Line, + title: "Insights com IA", + description: + "Análises financeiras geradas por IA (Claude, GPT, Gemini). Insights personalizados sobre seus padrões de gastos e recomendações inteligentes.", + }, + { + icon: RiBarChartBoxLine, + title: "Relatórios e gráficos", + description: + "Dashboard com 20+ widgets interativos. Relatórios detalhados por categoria. Gráficos de evolução e comparativos. Exportação em PDF e Excel.", + }, + { + icon: RiBankCard2Line, + title: "Faturas de cartão", + description: + "Cadastre seus cartões e acompanhe as faturas por período. Veja o que ainda não foi fechado. Controle limites, vencimentos e fechamentos.", + }, + { + icon: RiTeamLine, + title: "Gestão colaborativa", + description: + "Compartilhe pagadores com permissões granulares (admin/viewer). Notificações automáticas por e-mail. Colabore em lançamentos compartilhados.", + }, +]; + +const extraFeatures = [ + { + icon: RiPieChartLine, + title: "Categorias e orçamentos", + description: + "Crie categorias personalizadas e defina orçamentos mensais com indicadores visuais.", + }, + { + icon: RiFileTextLine, + title: "Anotações e tarefas", + description: + "Notas de texto e listas de tarefas com checkboxes. Arquivamento para manter histórico.", + }, + { + icon: RiCalendarLine, + title: "Calendário financeiro", + description: + "Visualize transações em calendário mensal. Nunca perca prazos de pagamentos.", + }, + { + icon: RiDownloadCloudLine, + title: "Importação em massa", + description: "Lance múltiplos lançamentos de uma vez", + }, + { + icon: RiEyeOffLine, + title: "Modo privacidade", + description: + "Oculte valores sensíveis com um clique. Tema dark/light. Calculadora integrada.", + }, + { + icon: RiFlashlightLine, + title: "Performance otimizada", + description: "Sistema rápido e com alta performance", + }, +]; + +const screenshotSections = [ + { + title: "Lançamentos", + description: "Registre e organize todas as suas transações financeiras", + lightSrc: "/preview-lancamentos-light.png", + darkSrc: "/preview-lancamentos-dark.png", + }, + { + title: "Calendário", + description: "Visualize suas finanças no calendário mensal", + lightSrc: "/preview-calendario-light.png", + darkSrc: "/preview-calendario-dark.png", + }, + { + title: "Cartões", + description: "Acompanhe faturas, limites e vencimentos dos seus cartões", + lightSrc: "/preview-cartao-light.png", + darkSrc: "/preview-cartao-dark.png", + }, +]; + +const companionBanks = ["Nubank", "Itaú", "Inter", "Mercado Pago", "Outros"]; + export default async function Page() { - const session = await getOptionalUserSession(); - const headersList = await headers(); + const [session, headersList] = await Promise.all([ + getOptionalUserSession(), + headers(), + ]); const hostname = headersList.get("host")?.replace(/:\d+$/, ""); const publicDomain = process.env.PUBLIC_DOMAIN?.replace( /^https?:\/\//, "", ).replace(/:\d+$/, ""); - const isPublicDomain = publicDomain && hostname === publicDomain; + const isPublicDomain = !!(publicDomain && hostname === publicDomain); return (
{/* Navigation */} -
+
@@ -52,12 +162,24 @@ export default async function Page() { {/* Center Navigation Links */}
{/* Hero Section */} -
-
-
- +
+ {/* Background gradient */} +
+ +
+
+ + + Projeto Open Source -

+

Suas finanças, do seu jeito

-

+

Um projeto pessoal de gestão financeira. Self-hosted, sem Open Finance, sem sincronização automática. Rode no seu computador ou servidor e tenha controle total sobre suas finanças.

-
-

+

+

- ⚠️ Aviso importante: + Aviso importante: {" "} Este sistema requer disciplina. Você precisa registrar manualmente cada transação. Se prefere algo automático, este @@ -131,10 +262,11 @@ export default async function Page() {

-
+
-
+
Seus dados, seu servidor @@ -169,389 +302,441 @@ export default async function Page() {
- {/* Dashboard Preview Section */} -
+ {/* Metrics Bar */} +
-
- openmonetis Dashboard Preview - openmonetis Dashboard Preview +
+
+
+
+ +
+ 20+ + + Widgets no dashboard + +
+
+
+ +
+ 100% + + Self-hosted + +
+
+
+ +
+ +200 + + Stars no GitHub + +
+
+
+ +
+ +60 + + Forks no GitHub + +
+
- {/* What's Here Section */} -
+ {/* Dashboard Preview Section */} +
+
+
+ +
+ openmonetis Dashboard Preview + openmonetis Dashboard Preview +
+
+
+
+
+ + {/* Screenshots Gallery Section */} +
+
+
+ +
+ + Conheça as telas + +

+ Veja o que você pode fazer +

+

+ Explore as principais telas do OpenMonetis +

+
+
+ +
+ {screenshotSections.map((section) => ( + +
+

+ {section.title} +

+

+ {section.description} +

+
+
+ {`Preview + {`Preview +
+
+ ))} +
+
+
+
+ + {/* Features Section */} +
-
- - O que tem aqui - -

- Funcionalidades que importam -

-

- Ferramentas simples para organizar suas contas, cartões, gastos - e receitas -

-
+ +
+ + O que tem aqui + +

+ Funcionalidades que importam +

+

+ Ferramentas simples para organizar suas contas, cartões, + gastos e receitas +

+
+
-
- - -
-
- + {/* Main Features - larger cards */} + +
+ {mainFeatures.map((feature) => ( + + +
+
+ +
+
+

+ {feature.title} +

+

+ {feature.description} +

+
+
+
+
+ ))} +
+
+ + {/* Extra Features - compact list */} + +
+

+ E mais... +

+
+ {extraFeatures.map((feature) => ( +
+
+ +
+
+

+ {feature.title} +

+

+ {feature.description} +

+
-
-

- Contas e transações -

-

- Registre suas contas bancárias, cartões e dinheiro. - Adicione receitas, despesas e transferências. Organize - por categorias. Extratos detalhados por conta. -

+ ))} +
+
+ +
+
+
+ + {/* Companion Section */} +
+
+
+ +
+ {/* Text content */} +
+ + + App Android + +

+ Capture automaticamente do seu celular +

+

+ O OpenMonetis Companion captura notificações de apps + bancários e cria pré-lançamentos automaticamente para você + revisar. +

+ + {/* Flow steps */} +
+
+
+ +
+
+

+ Notificação bancária chega +

+

+ O Companion intercepta automaticamente +

+
+
+
+
+ +
+
+

+ Dados extraídos e enviados +

+

+ Valor, descrição e banco são identificados +

+
+
+
+
+ +
+
+

+ Revise e confirme no OpenMonetis +

+

+ Pré-lançamentos ficam na inbox para sua aprovação +

+
- - - - -
-
- -
-
-

- Parcelamentos avançados -

-

- Controle completo de compras parceladas. Antecipe - parcelas com cálculo automático de desconto. Veja - análise consolidada de todas as parcelas em aberto. -

+ {/* Supported banks */} +
+

+ Bancos suportados +

+
+ {companionBanks.map((bank) => ( + + {bank} + + ))}
- - - - -
-
- -
-
-

- Insights com IA -

-

- Análises financeiras geradas por IA (Claude, GPT, - Gemini). Insights personalizados sobre seus padrões de - gastos e recomendações inteligentes. -

-
-
-
-
+ + + +
- - -
-
- -
-
-

- Relatórios e gráficos -

-

- Dashboard com 20+ widgets interativos. Relatórios - detalhados por categoria. Gráficos de evolução e - comparativos. Exportação em PDF e Excel. -

-
+ {/* Companion Screenshot */} +
+
+ OpenMonetis Companion App
- - - - - -
-
- -
-
-

- Faturas de cartão -

-

- Cadastre seus cartões e acompanhe as faturas por - período. Veja o que ainda não foi fechado. Controle - limites, vencimentos e fechamentos. -

-
-
-
-
- - - -
-
- -
-
-

- Gestão colaborativa -

-

- Compartilhe pagadores com permissões granulares (admin/ - viewer). Notificações automáticas por e-mail. Colabore - em lançamentos compartilhados. -

-
-
-
-
- - - -
-
- -
-
-

- Categorias e orçamentos -

-

- Crie categorias personalizadas. Defina orçamentos - mensais e acompanhe o quanto gastou vs. planejado com - indicadores visuais. -

-
-
-
-
- - - -
-
- -
-
-

- Anotações e tarefas -

-

- Crie notas de texto e listas de tarefas com checkboxes. - Sistema de arquivamento para manter histórico. Organize - seus planejamentos financeiros. -

-
-
-
-
- - - -
-
- -
-
-

- Calendário financeiro -

-

- Visualize todas as transações em calendário mensal. - Navegação intuitiva por data. Nunca perca prazos de - pagamentos importantes. -

-
-
-
-
- - - -
-
- -
-
-

- Importação em massa -

-

- Cole múltiplos lançamentos de uma vez. Economize tempo - ao registrar várias transações. Formatação inteligente - para facilitar a entrada de dados. -

-
-
-
-
- - - -
-
- -
-
-

- Modo privacidade -

-

- Oculte valores sensíveis com um clique. Tema dark/light - adaptável. Preferências personalizáveis. Calculadora - integrada para planejamento. -

-
-
-
-
- - - -
-
- -
-
-

- Performance otimizada -

-

- Dashboard carrega em ~200-500ms com 18+ queries - paralelas. Índices otimizados. Type-safe em toda - codebase. Isolamento completo de dados por usuário. -

-
-
-
-
-
+
+
+
{/* Tech Stack Section */} -
+
-
- - Stack técnica - -

- Construído com tecnologias modernas -

-

- Open source, self-hosted e fácil de customizar -

-
+ +
+ + Stack técnica + +

+ Construído com tecnologias modernas +

+

+ Open source, self-hosted e fácil de customizar +

+
+
-
- - -
- -
-

Frontend

-

- Next.js 16, TypeScript, Tailwind CSS, shadcn/ui -

-

- Interface moderna e responsiva com React 19 e App Router -

+ +
+ + +
+ +
+

+ Frontend +

+

+ Next.js 16, TypeScript, Tailwind CSS, shadcn/ui +

+

+ Interface moderna e responsiva com React 19 e App + Router +

+
-
- - + + - - -
- -
-

Backend

-

- PostgreSQL 18, Drizzle ORM, Better Auth -

-

- Banco relacional robusto com type-safe ORM -

+ + +
+ +
+

+ Backend +

+

+ PostgreSQL 18, Drizzle ORM, Better Auth +

+

+ Banco relacional robusto com type-safe ORM +

+
-
- - + + - - -
- -
-

Segurança

-

- Better Auth com OAuth (Google) e autenticação por email -

-

- Sessões seguras e proteção de rotas por middleware -

+ + +
+ +
+

+ Segurança +

+

+ Better Auth com OAuth (Google) e autenticação por + email +

+

+ Sessões seguras e proteção de rotas por middleware +

+
-
- - + + - - -
- -
-

Deploy

-

- Docker com multi-stage build, health checks e volumes - persistentes -

-

- Fácil de rodar localmente ou em qualquer servidor -

+ + +
+ +
+

+ Deploy +

+

+ Docker com multi-stage build, health checks e volumes + persistentes +

+

+ Fácil de rodar localmente ou em qualquer servidor +

+
-
- - -
+
+
+
+ -
+

Seus dados ficam no seu controle. Pode rodar localmente ou no seu próprio servidor. @@ -562,110 +747,28 @@ export default async function Page() {

{/* How to run Section */} -
+
-
- - Como usar - -

- Rode no seu computador -

-

- Não há versão hospedada online. Você precisa rodar localmente. -

-
+ +
+ + Como usar + +

+ Rode no seu computador +

+

+ Não há versão hospedada online. Você precisa rodar localmente. +

+
+
-
- - -
-
- 1 -
-
-

- Clone o repositório -

- - git clone - https://github.com/felipegcoutinho/openmonetis.git - -
-
-
-
+ + + - - -
-
- 2 -
-
-

- Configure as variáveis de ambiente -

-

- Copie o{" "} - - .env.example - {" "} - para .env{" "} - e configure o banco de dados -

-
-
-
-
- - - -
-
- 3 -
-
-

- Suba o banco via Docker -

- - docker compose up db -d - -
-
-
-
- - - -
-
- 4 -
-
-

- Rode a aplicação localmente -

-
- - pnpm install - - - pnpm db:push - - - pnpm dev - -
-
-
-
-
-
- -
+
{/* Who is this for Section */} -
+
-
-

- Para quem funciona? -

-

- O openmonetis funciona melhor se você: -

-
+ +
+

+ Para quem funciona? +

+

+ O openmonetis funciona melhor se você: +

+
+
-
- - -
-
- + +
+ + +
+
+ +
+
+

+ Tem disciplina de registrar gastos +

+

+ Não se importa em dedicar alguns minutos por dia ou + semana para manter tudo atualizado +

+
-
-

- Tem disciplina de registrar gastos -

-

- Não se importa em dedicar alguns minutos por dia ou - semana para manter tudo atualizado -

-
-
- - + + - - -
-
- + + +
+
+ +
+
+

+ Quer controle total sobre seus dados +

+

+ Prefere hospedar seus próprios dados ao invés de + depender de serviços terceiros +

+
-
-

- Quer controle total sobre seus dados -

-

- Prefere hospedar seus próprios dados ao invés de - depender de serviços terceiros -

-
-
- - + + - - -
-
- + + +
+
+ +
+
+

+ Gosta de entender exatamente onde o dinheiro vai +

+

+ Quer visualizar padrões de gastos e tomar decisões + informadas +

+
-
-

- Gosta de entender exatamente onde o dinheiro vai -

-

- Quer visualizar padrões de gastos e tomar decisões - informadas -

-
-
- - -
+
+
+
+
-
-

- Se você não se encaixa nisso, provavelmente vai abandonar depois - de uma semana. E tudo bem! Existem outras ferramentas com - sincronização automática que podem funcionar melhor pra você. -

-
+ +
+

+ Se você não se encaixa nisso, provavelmente vai abandonar + depois de uma semana. E tudo bem! Existem outras ferramentas + com sincronização automática que podem funcionar melhor pra + você. +

+
+
{/* CTA Section */} -
+
-
-

- Pronto para testar? -

-

- Clone o repositório, rode localmente e veja se faz sentido pra - você. É open source e gratuito. -

-
- - - - - - + + + + + +
-
+
{/* Footer */} -