|
1 | | -# Thayfinance — Controle financeiro |
| 1 | +<div align="center"> |
2 | 2 |
|
3 | | -Aplicativo web financeiro com 6 módulos, baseado nas planilhas CUSTOS.xlsx, |
4 | | -PRECIFICAÇÃO.xlsx e CONTROLE DIARIO.xlsx. |
| 3 | +# 💚 Thayfinance |
5 | 4 |
|
6 | | -## App publicado (instalável) |
| 5 | +### Controle financeiro pessoal e empresarial — simples, bonito e no seu bolso. |
7 | 6 |
|
8 | | -**https://www.thayfinance.com** |
| 7 | +Um app web (PWA) que organiza **duas contas em um só lugar** — a sua vida pessoal e a do seu negócio — com lançamentos, metas, relatórios e até **IA que lê comprovantes por foto ou áudio**. |
9 | 8 |
|
10 | | -É um PWA: pode ser instalado no Android (Chrome → menu ⋮ → "Instalar app"), |
11 | | -no iPhone (Safari → Compartilhar → "Adicionar à Tela de Início") e no |
12 | | -computador (ícone de instalar na barra de endereço do Chrome/Edge). |
13 | | -Funciona offline depois da primeira visita. |
| 9 | +<br> |
14 | 10 |
|
15 | | -A versão publicada abre **sem dados** (por privacidade, o arquivo |
16 | | -`src/dadosPlanilha.json` fica fora do repositório). Em cada aparelho, use |
17 | | -**Importar dados** com o arquivo `meus-dados-thayfinance.json` (na Área de |
18 | | -Trabalho) para carregar os lançamentos das planilhas. Os dados ficam só no |
19 | | -aparelho; para levar de um aparelho a outro, use Exportar → Importar. |
| 11 | +[](https://www.thayfinance.com) |
20 | 12 |
|
21 | | -Cada `git push` na branch `main` publica automaticamente (GitHub Actions). |
| 13 | +<br> |
22 | 14 |
|
23 | | -## Como usar (desenvolvimento) |
| 15 | + |
| 16 | + |
| 17 | + |
| 18 | + |
| 19 | + |
| 20 | + |
| 21 | +</div> |
| 22 | + |
| 23 | +--- |
| 24 | + |
| 25 | +## ✨ O que é |
| 26 | + |
| 27 | +O **Thayfinance** nasceu de três planilhas de Excel e virou um aplicativo completo de controle financeiro. Ele funciona **instalado no celular ou no computador**, roda **offline** e **sincroniza na nuvem** com segurança — cada pessoa enxerga apenas os próprios dados. |
| 28 | + |
| 29 | +O grande diferencial: você alterna entre **dois ambientes** com um toque — |
| 30 | + |
| 31 | +| 👤 **Pessoal** | 🏢 **Empresarial** | |
| 32 | +|:--|:--| |
| 33 | +| Suas receitas, despesas e metas do dia a dia | Faturamento, custos, clientes, fornecedores e centro de custos | |
| 34 | + |
| 35 | +--- |
| 36 | + |
| 37 | +## 🚀 Funcionalidades |
| 38 | + |
| 39 | +### 📊 Gestão do dia a dia |
| 40 | +- **Dashboard** com cards de resumo e gráficos (faturamento × despesas, distribuição por categoria) |
| 41 | +- **Receitas & Despesas** com data, categoria, valor, descrição e status |
| 42 | +- **Contas a Pagar/Receber** com alertas de vencimento |
| 43 | +- **Fluxo de Caixa** por dia, semana, mês e ano |
| 44 | +- **Metas** em cards com anel de progresso |
| 45 | +- **Categorias** coloridas, com gradientes personalizados |
| 46 | +- **Relatórios** mensais e anuais, com exportação em **PDF** e **Excel (CSV)** |
| 47 | + |
| 48 | +### 🏢 Exclusivo do modo empresarial |
| 49 | +- **Clientes** e **Fornecedores** |
| 50 | +- **Centro de Custos** e apuração de lucro operacional |
| 51 | + |
| 52 | +### 🤖 Lançamento por Inteligência Artificial |
| 53 | +- 📷 **Foto do comprovante** → a IA lê valor, data e estabelecimento e já lança |
| 54 | +- 🎙️ **Áudio** → você fala "gastei 50 no mercado" e ela transforma em lançamento |
| 55 | +- 💬 **Bot do Telegram** → mande foto, áudio ou texto e o gasto entra sozinho na sua conta |
| 56 | + |
| 57 | +### 🔒 Conta, nuvem e privacidade |
| 58 | +- **Login na nuvem** (e-mail e senha) com sincronização automática entre aparelhos |
| 59 | +- **Trava local** por PIN, foto e nome — só sua, direto no aparelho |
| 60 | +- **Backup automático** a cada 3 dias, além do backup manual (Exportar / Importar) |
| 61 | +- **Modo escuro** 🌙 e instalação como app (PWA) |
| 62 | + |
| 63 | +--- |
| 64 | + |
| 65 | +## 🛠️ Tecnologias |
| 66 | + |
| 67 | +<table> |
| 68 | +<tr> |
| 69 | +<td valign="top" width="50%"> |
| 70 | + |
| 71 | +**Frontend** |
| 72 | +- ⚛️ React 18 + Vite 6 |
| 73 | +- 🎨 Tailwind CSS v4 |
| 74 | +- 📈 Recharts (gráficos) |
| 75 | +- 🧩 Lucide (ícones) |
| 76 | +- 📱 vite-plugin-pwa (offline + instalável) |
| 77 | + |
| 78 | +</td> |
| 79 | +<td valign="top" width="50%"> |
| 80 | + |
| 81 | +**Backend & IA** |
| 82 | +- 🟢 Supabase (Auth · Postgres · Storage) |
| 83 | +- 🔐 Row Level Security por usuário |
| 84 | +- ⚡ Edge Functions (Deno) |
| 85 | +- 🧠 Claude (visão) + OpenAI Whisper (áudio) |
| 86 | + |
| 87 | +</td> |
| 88 | +</tr> |
| 89 | +</table> |
| 90 | + |
| 91 | +--- |
| 92 | + |
| 93 | +## 🧱 Arquitetura |
| 94 | + |
| 95 | +``` |
| 96 | +┌──────────────────────────┐ ┌───────────────────────────────┐ |
| 97 | +│ Thayfinance (PWA) │ │ Supabase │ |
| 98 | +│ React · Tailwind · Vite │ ⇄ │ Auth · Postgres (RLS) · │ |
| 99 | +│ Funciona offline │ │ Storage privado · Edge Fns │ |
| 100 | +└──────────────────────────┘ └───────────────┬───────────────┘ |
| 101 | + ▲ │ |
| 102 | + │ instalável no celular/PC ▼ |
| 103 | + www.thayfinance.com 🤖 IA (Claude · Whisper) |
| 104 | + 💬 Bot do Telegram |
| 105 | +``` |
| 106 | + |
| 107 | +> Todo o app da interface vive num único arquivo — [`src/App.jsx`](src/App.jsx) — por escolha de projeto. |
| 108 | +
|
| 109 | +--- |
| 110 | + |
| 111 | +## 💻 Rodando localmente |
24 | 112 |
|
25 | 113 | ```bash |
26 | | -npm install # apenas na primeira vez |
27 | | -npm run dev # abre em http://localhost:5173 |
| 114 | +npm install # só na primeira vez |
| 115 | +npm run dev # abre em http://localhost:5173 |
| 116 | +npm run build # gera a versão final na pasta dist/ |
28 | 117 | ``` |
29 | 118 |
|
30 | | -Para gerar a versão final (pasta `dist/`): `npm run build`. |
| 119 | +--- |
| 120 | + |
| 121 | +## 🌐 Publicação |
| 122 | + |
| 123 | +Cada `git push` na branch **`main`** publica automaticamente via **GitHub Actions** → **GitHub Pages**, no domínio próprio **[www.thayfinance.com](https://www.thayfinance.com)** (com HTTPS). |
| 124 | + |
| 125 | +--- |
| 126 | + |
| 127 | +## 🛡️ Segurança & privacidade |
| 128 | + |
| 129 | +- **Isolamento total entre contas** — RLS (`auth.uid() = user_id`) em todas as tabelas |
| 130 | +- **Comprovantes em cofre privado** — Storage separado por pasta de cada usuário |
| 131 | +- **Funções sensíveis protegidas** — cada Edge Function exige seu próprio segredo/autenticação |
| 132 | +- **Sem dados reais no repositório** — os lançamentos ficam fora do Git, só no seu aparelho e na sua nuvem |
| 133 | +- Escape de HTML na exportação de PDF e proteção contra injeção de fórmula no CSV |
31 | 134 |
|
32 | | -## Módulos |
| 135 | +--- |
33 | 136 |
|
34 | | -- **Dashboard** — cards de resumo, gráfico Faturamento × Custos (6 meses), |
35 | | - pizza de distribuição de custos, indicadores estratégicos e alertas automáticos. |
36 | | -- **DRE — Resultado** — demonstrativo mensal com percentuais sobre o faturamento. |
37 | | -- **Custos do Negócio** — custos fixos, variáveis e anuais (÷12), |
38 | | - com botão "Copiar do mês anterior". |
39 | | -- **Gastos Pessoais** — os 35 itens da planilha pessoal, com total automático. |
40 | | -- **Precificação** — custo por hora, valor mínimo por sessão e tabela de preços |
41 | | - com custo, margem e lucro de cada serviço. |
42 | | -- **Planejamento 2026** — metas × realizado acumulado, com barras de progresso. |
| 137 | +<div align="center"> |
| 138 | +<br> |
43 | 139 |
|
44 | | -## Conta e privacidade |
| 140 | +Feito com 💚 para organizar a vida financeira de um jeito leve. |
45 | 141 |
|
46 | | -- Primeiro uso: cria nome, foto (opcional) e PIN — tudo guardado só no aparelho. |
47 | | -- Conta nova começa 100% zerada; botão Sair bloqueia o app na tela de PIN. |
48 | | -- Dados salvos automaticamente (chave `financas_app_data`), com modo escuro |
49 | | - opcional e backup manual por Exportar/Importar dados. |
| 142 | +**[www.thayfinance.com](https://www.thayfinance.com)** |
50 | 143 |
|
51 | | -Todo o código do app está em um único arquivo: `src/App.jsx`. |
| 144 | +</div> |
0 commit comments