58 lines
1.4 KiB
Markdown
58 lines
1.4 KiB
Markdown
|
|
# task_app
|
||
|
|
|
||
|
|
Aplicação TUI de gestão de tarefas com sincronização Google Tasks.
|
||
|
|
|
||
|
|
## Funcionalidades
|
||
|
|
|
||
|
|
- Listas e tarefas do Google Tasks num terminal
|
||
|
|
- Offline-first: dados guardados localmente em SQLite
|
||
|
|
- Sincronização bidirecional automática em background
|
||
|
|
- Calendário com eventos do Google Calendar
|
||
|
|
- Reordenação de tarefas com persistência
|
||
|
|
- Operações CRUD em listas e tarefas
|
||
|
|
- Seleção múltipla e ações em lote
|
||
|
|
|
||
|
|
## Stack
|
||
|
|
|
||
|
|
- **UI:** ratatui + crossterm
|
||
|
|
- **Async:** tokio
|
||
|
|
- **DB:** rusqlite (SQLite)
|
||
|
|
- **Auth:** yup-oauth2 (OAuth 2.0)
|
||
|
|
- **API:** reqwest (Google Tasks + Calendar)
|
||
|
|
|
||
|
|
## Requisitos
|
||
|
|
|
||
|
|
- Rust (edition 2021)
|
||
|
|
- Conta Google com Tasks ativado
|
||
|
|
- `client_secret.json` da Google Cloud Console
|
||
|
|
|
||
|
|
## Configuração
|
||
|
|
|
||
|
|
Coloca o `client_secret.json` num dos seguintes locais:
|
||
|
|
|
||
|
|
- `$GOOGLE_CLIENT_SECRET_FILE`
|
||
|
|
- `~/.config/task_app/client_secret.json`
|
||
|
|
- `./client_secret.json` (diretório atual)
|
||
|
|
|
||
|
|
## Uso
|
||
|
|
|
||
|
|
```bash
|
||
|
|
cargo run
|
||
|
|
```
|
||
|
|
|
||
|
|
### Atalhos
|
||
|
|
|
||
|
|
| Tecla | Ação |
|
||
|
|
|---|---|
|
||
|
|
| `Tab` | Navegar entre painéis |
|
||
|
|
| `↑/↓` | Navegar dentro do painel |
|
||
|
|
| `Ctrl+←/→` | Mudar de lista |
|
||
|
|
| `Alt+↑/↓` | Reordenar tarefa |
|
||
|
|
| `n` | Nova tarefa / lista |
|
||
|
|
| `e` | Editar tarefa |
|
||
|
|
| `d` | Apagar (Enter confirma) |
|
||
|
|
| `Enter` | Completar/descompletar tarefa |
|
||
|
|
| `t` | Definir data (d=today, t=tomorrow, w=week, m=month) |
|
||
|
|
| `Ctrl+r` | Sincronização forçada |
|
||
|
|
| `q` | Sair |
|