Skip to content

Guiroos/mare

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

380 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Maré

Aplicativo de finanças pessoais para acompanhar transações, gastos fixos, parcelamentos, investimentos e metas por mês de referência.

Tecnologias

Pré-requisitos

Instalação

# Instalar dependências
npm install

# Copiar e preencher as variáveis de ambiente
cp .env.example .env.local

# Aplicar as migrations no banco
npm run db:migrate

# Iniciar o servidor de desenvolvimento
npm run dev

Acesse http://localhost:3000.

Variáveis de ambiente

Crie um arquivo .env.local na raiz do projeto com as seguintes variáveis:

# Banco de dados (Neon)
DATABASE_URL=postgresql://<user>:<password>@<host>.neon.tech/<dbname>?sslmode=require

# Google OAuth
GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=

# NextAuth
NEXTAUTH_SECRET=        # string aleatória (ex: openssl rand -base64 32)
NEXTAUTH_URL=http://localhost:3000

# Opcional: bloqueia novos cadastros (usuários existentes continuam entrando)
# BLOCK_SIGNIN=true

# Email do administrador (acesso à rota /admin)
ADMIN_EMAIL=

# Segredo para autenticar chamadas de cron jobs (Vercel Cron)
CRON_SECRET=

Como obter cada variável

DATABASE_URL — Crie um projeto no Neon, vá em Connection Details e copie a connection string.

GOOGLE_CLIENT_ID / GOOGLE_CLIENT_SECRET — No Google Cloud Console, crie um projeto, habilite a Google+ API, vá em Credenciais > Criar credencial > ID do cliente OAuth e adicione http://localhost:3000/api/auth/callback/google como URI de redirecionamento autorizado.

NEXTAUTH_SECRET — Gere com:

openssl rand -base64 32

CRON_SECRET — Gere com o mesmo comando acima. Usado para autenticar as rotas de cron jobs da Vercel.

Comandos disponíveis

npm run dev               # servidor de desenvolvimento
npm run build             # build de produção
npm run start             # inicia o build de produção
npm run lint              # ESLint via next lint
npm run format            # formata todos os arquivos com Prettier
npm run format:check      # verifica formatação sem alterar arquivos
npm run typecheck         # verificação de tipos TypeScript
npm run db:generate       # gera migration a partir de mudanças no schema
npm run db:migrate        # aplica migrations pendentes
npm run db:studio         # abre o Drizzle Studio (browser do banco)
npm test                  # roda testes unitários (Vitest)
npm run test:watch        # testes em modo watch
npm run test:coverage     # cobertura de testes
npm run test:integration  # testes de integração (requer variáveis Neon)

Estrutura de páginas

Rota Descrição
/login Autenticação via Google
/dashboard Visão geral do mês
/registro Lançamento de transações
/categorias Gerenciamento de grupos e categorias
/contas Gerenciamento de contas de pagamento
/configuracao-mes Configurações do mês de referência
/parcelas Controle de parcelamentos
/investimentos Acompanhamento de investimentos
/metas Metas financeiras
/panorama Visão anual
/devedores Controle de cobranças e devedores
/historico Histórico de transações
/admin Painel administrativo (restrito a ADMIN_EMAIL)

About

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages