Skip to content

soujoaomoraes/finn

Repository files navigation

Finn - Finanças pessoais 💰

Finn é um aplicativo desktop leve e rápido para gestão de finanças pessoais. Ele permite o controle offline e seguro de suas receitas e despesas, visualização de saldos mensais e importação de dados através de planilhas de forma super intuitiva.

Demonstração da interface do FinLedger

🚀 Tecnologias

Este projeto foi construído focando em performance, baixo consumo de memória e total privacidade dos dados (tudo fica no seu computador).

  • Frontend: HTML5, CSS3 e Vanilla JavaScript (sem frameworks pesados) com arquitetura Vertical Slice por módulo de feature.
  • Backend: Tauri 2 e Rust para comunicação com o sistema operacional.
  • Banco de Dados: SQLite criptografado via SQLCipher + rusqlite, com chave armazenada no keyring nativo do SO via Tauri Stronghold.

📦 Funcionalidades Principais

  • Dashboard: Resumo mensal do seu saldo, despesas e receitas.
  • Transações: Listagem, filtro, busca, criação, edição e exclusão de transações.
  • Categorias: Gerenciamento completo de categorias customizadas por cor.
  • Importação / Exportação: Importe suas despesas em massa a partir de um arquivo de planilha (.xlsx ou .csv) e exporte seus dados facilmente para relatórios.
  • Transações Recorrentes: Cadastre transações que se repetem (diária, semanal, mensal ou anual) e deixe o FinLedger gerá-las automaticamente para você.
  • Backup na Nuvem (Google Drive): Sincronize seus dados de forma invisível e segura no Google Drive para nunca perder seu histórico.
  • Modo Offline-First: Funciona sem necessidade de internet, com o banco persistido diretamente na sua máquina e sincronização silenciosa em background.

⬇️ Download e Instalação (Em Construção 🚧)

Uma versão com instalador pré-compilado está atualmente em desenvolvimento. Em breve, você poderá simplesmente baixar o executável, instalar e usar o FinLedger sem precisar de nenhum conhecimento técnico ou compilar o código-fonte! Fique de olho na aba de Releases deste repositório.

💻 Como Rodar Localmente (Para Desenvolvedores)

Pré-requisitos

  • Node.js
  • Rust
  • Dependências de compilação do Tauri para seu SO (Siga o guia aqui).
  • Windows: Strawberry Perl no PATH (necessário para compilar o SQLCipher/OpenSSL).

Instalação e Execução

  1. Clone o repositório:
git clone https://github.com/SEU_USUARIO/finledger.git
cd finledger
  1. Instale as dependências Node:
npm install
  1. Configuração do Backup no Google Drive: O FinLedger usa a API do Google Drive para sincronizar backups na nuvem. Para rodar o app localmente e compilar, você precisa das suas próprias credenciais OAuth.
  • Acesse o Google Cloud Console.
  • Crie um projeto, habilite a Google Drive API e configure a Tela de Consentimento OAuth.
  • Crie credenciais do tipo Desktop App (Aplicativo para Computador).
  • Copie o arquivo .env.example para .env:
cp .env.example .env
  • Cole seu Client ID e Client Secret dentro do arquivo .env.
  1. Execute em modo de desenvolvimento:
npm run tauri dev
  1. Para compilar o executável final para o seu sistema:
npm run tauri build

📄 Licença

Este projeto é de código aberto e está licenciado sob a GNU General Public License v3.0 (GPLv3). Isso significa que você é livre para usar, estudar, modificar e compartilhar o software. No entanto, qualquer trabalho derivado ou modificado que for distribuído também deve ser disponibilizado sob a mesma licença GPLv3 com o código-fonte aberto. O uso comercial e monetização são permitidos, desde que essas regras sejam respeitadas.

About

Um aplicativo leve e rápido para gestão de finanças pessoais, focado em privacidade. Feito com JavaScript, Tauri, Rust e SQLite

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors