Skip to content

sthevan027/CodeFocus

Repository files navigation

CodeFocus

App desktop de produtividade para desenvolvedores com timer Pomodoro, integração Git e relatórios de progresso.

Stack

  • Desktop: Tauri v2 (Rust)
  • Frontend: React 18 + Vite
  • Banco de Dados: SQLite local via tauri-plugin-sql
  • Estilização: Tailwind CSS
  • Notificações: tauri-plugin-notification
  • Shell/Git: tauri-plugin-shell

Funcionalidades

  • Timer Pomodoro — fases de foco, pausa curta e pausa longa configuráveis
  • Dashboard — estatísticas diárias, semanais e históricas com gráficos
  • Tarefas e Tags — gerenciador de tarefas com categorização por tags
  • Notas rápidas — anotações durante a sessão de foco
  • Integração Git — detecta commits realizados no repositório durante a sessão
  • Relatórios — geração e histórico de relatórios de produtividade
  • Configurações — todos os parâmetros persistidos localmente no SQLite
  • Atalhos de teclado — controle do timer sem tirar as mãos do teclado
  • Tray icon — acesso rápido pela bandeja do sistema
  • Notificações nativas — alertas do sistema operacional ao fim de cada fase

Estrutura do Projeto

src/
├── App.jsx               # Raiz da aplicação e roteamento de views
├── components/
│   ├── Timer.jsx         # Timer Pomodoro principal
│   ├── Dashboard.jsx     # Estatísticas e visão geral
│   ├── ProgressCharts.jsx# Gráficos de produtividade
│   ├── TagManager.jsx    # Tarefas e tags
│   ├── QuickNotes.jsx    # Notas rápidas
│   ├── Navigation.jsx    # Barra lateral de navegação
│   ├── SettingsScreen.jsx# Tela de configurações
│   └── GitDetectModal.jsx# Modal de commits Git detectados
├── context/
│   └── AppContext.jsx    # Estado global (settings, refresh)
├── hooks/
│   ├── useKeyboardShortcuts.js
│   └── useTodayStats.js
└── services/
    └── dbService.js      # Acesso ao SQLite (settings, cycles, tags, tasks, reports, git)

src-tauri/
├── src/          # Código Rust do backend Tauri
├── Cargo.toml    # Dependências Rust
└── tauri.conf.json

Banco de Dados (SQLite Local)

O banco é criado automaticamente em codefocus.db no diretório de dados do app.

Tabelas

Tabela Descrição
cycles Sessões Pomodoro (foco, pausa curta, pausa longa)
settings Configurações chave-valor do usuário
tags Tags para categorizar tarefas
tasks Tarefas com suporte a múltiplas tags
reports Relatórios de produtividade gerados

Configuração e Desenvolvimento

Pré-requisitos

Instalar dependências

npm install

Rodar em modo desenvolvimento

npm run dev
# equivalente a: tauri dev

Build para produção

npm run build
# equivalente a: tauri build

O instalador gerado fica em src-tauri/target/release/bundle/.

Configurações Disponíveis

Chave Padrão Descrição
focus_time 25 Duração do foco (minutos)
short_break_time 5 Duração da pausa curta (minutos)
long_break_time 15 Duração da pausa longa (minutos)
cycles_before_long_break 4 Ciclos até a pausa longa
auto_start_breaks false Iniciar pausas automaticamente
auto_start_pomodoros false Iniciar foco automaticamente
sound_enabled true Sons de alerta
notifications_enabled true Notificações nativas
git_repo_path Caminho do repositório Git monitorado
report_format txt Formato de exportação dos relatórios

Licenca

MIT

About

Aplicação de foco e produtividade

Topics

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors