From e0433f8e57a375d1b373387ebfa803dad79474f5 Mon Sep 17 00:00:00 2001 From: Daniel Arroyo Date: Mon, 23 Mar 2026 22:13:48 -0300 Subject: [PATCH] docs: Add Docker deployment documentation with data folder - Update docker-compose to use ./data folder for SQLite database - Add Docker section to README with setup instructions --- README.md | 177 +++++++++++++++++++++++++++++++++++++++++++-- docker-compose.yml | 4 +- 2 files changed, 171 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 0b50f10..85bde89 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,12 @@ # recall -Sistema de notas personal con captura rápida y búsqueda inteligente. +Sistema de notas personal con captura rápida, búsqueda inteligente y conexiones entre notas. ## Uso ### Quick Add (Captura Rápida) -Crea notas al instante con el shortcut `Ctrl+N`. +Crea notas al instante con el shortcut `Ctrl+N` o desde el botón de captura rápida en el header. Sintaxis: ``` @@ -41,12 +41,31 @@ rec: Pasta carbonara #cocina #italiana | `inventory` | Inventario | Item, Cantidad, Ubicación | | `note` | Nota libre | Contenido | -### Búsqueda +### Dashboard (Página Principal) -- Búsqueda por título y contenido -- Búsqueda fuzzy (tolerante a errores) -- Filtros por tipo y tags -- Favoritos y notas pinned influyen en el ranking +El dashboard muestra diferentes secciones según tu actividad: + +- **Recientes** - Últimas notas modificadas +- **Más usadas** - Notas que consultas frecuentemente +- **Comandos recientes** - Notas de tipo comando +- **Snippets recientes** - Notas de código +- **Según tu actividad** - Notas relacionadas con tu historial de navegación + +### Modo Trabajo + +El botón de **Modo Trabajo** en el header (icono de monitor/ojo) es un toggle que indica cuando estás en modo de trabajo activo. Cuando está activado, el sistema: +- Puede influir en el ranking de búsqueda priorizando notas de trabajo +- Refleja visualmente que estás enfocado en una tarea + +Se puede activar/desactivar desde el header o desde Configuración. + +### Command Palette + +Accede rápidamente a cualquier sección o acción con `Ctrl+K` (Windows) o `Cmd+K` (Mac): + +- Navegación rápida a cualquier página +- Crear nueva nota +- Acceso directo a Configuración ### Links entre Notas @@ -56,7 +75,73 @@ Crea links a otras notas usando `[[nombre-de-nota]]`: Ver también: [[Configuración de Docker]] ``` -Los backlinks se muestran automáticamente en la nota referenciada. +Los **backlinks** (notas que referencian la nota actual) se muestran automáticamente en la vista de detalle. + +### Conexiones de Notas + +Cada nota muestra diferentes tipos de conexiones: + +- **Notas relacionadas** - Basadas en tags compartidos, tipo y contenido similar +- **Backlinks** - Notas que linkean a esta nota +- **Outgoing links** - Links salientes de esta nota hacia otras +- **Co-usadas** - Notas que sueles ver juntas + +### Búsqueda + +- Búsqueda por título y contenido +- Búsqueda fuzzy (tolerante a errores) +- Filtros por tipo y tags +- Favoritos y notas pinned influyen en el ranking + +### Captura Externa (Bookmarklet) + +Desde Configuración > Capturar web, puedes crear un marcador que permite capturar contenido de cualquier página web: + +1. Arrastra el botón "Capturar a Recall" a tu barra de marcadores +2. Cuando estés en una página web, haz clic en el marcador +3. Confirma y guarda directamente en tus notas + +El marcador captura: título de la página, URL y texto seleccionado. + +### Drafts (Borradores) + +El sistema guarda automáticamente borradores de tus notas mientras escribes. Si cierras accidentalmente la página, al volver se te ofrecer recuperar el borrador. + +### Historial de Versiones + +Cada nota mantiene un historial de versiones. Accede desde el botón de historial en la vista de detalle para ver y restaurar versiones anteriores. + +### Backups y Restauración + +En Configuración > Backups: + +- **Backup automático** - Se crean backups al cerrar o cambiar de nota (configurable) +- **Retención** - Los backups se mantienen por el período indicado (por defecto 30 días) +- **Backup manual** - Exporta en cualquier momento + +### Exportar e Importar + +Desde Configuración > Exportar: + +- **JSON** - Backup completo (recomendado para restaurar) +- **Markdown** - Notas en formato MD (ideal para compartir) +- **HTML** - Notas en formato HTML (para visualización) + +**Importar:** +- JSON - Restauración de backup +- Markdown - Importación de archivos MD + +### Atajos de Teclado + +| Atajo | Acción | +|-------|--------| +| `Ctrl+N` | Nueva nota rápida | +| `Ctrl+K` / `Cmd+K` | Command Palette | +| `n` | Nueva nota (desde dashboard) | +| `g h` | Ir al Dashboard | +| `g n` | Ir a Notas | +| `/` | Enfocar búsqueda | +| `?` | Mostrar atajos de teclado | ## Development @@ -66,6 +151,48 @@ npx prisma db push npm run dev ``` +## Docker + +### Requisitos +- Docker +- Docker Compose + +### Instalación con Docker + +1. **Crear la carpeta para la base de datos:** +```bash +mkdir -p data +``` + +2. **Iniciar la aplicación:** +```bash +docker-compose up -d +``` + +La aplicación estará disponible en `http://localhost:3000` + +### Datos + +- La base de datos SQLite se guarda en `./data/dev.db` +- Los datos persisten entre reinicios +- Para hacer backup, copia la carpeta `data/` + +### Comandos útiles + +```bash +# Ver logs +docker-compose logs -f + +# Reiniciar +docker-compose restart + +# Detener +docker-compose down + +# Reconstruir (después de cambios) +docker-compose up -d --build +``` + ## API ### Quick Add @@ -87,3 +214,37 @@ GET /api/tags # Listar todos GET /api/tags?q=python # Filtrar GET /api/tags/suggest?title=...&content=... # Sugerencias ``` + +## Estructura del Proyecto + +``` +src/ +├── app/ +│ ├── page.tsx # Dashboard +│ ├── notes/ +│ │ ├── page.tsx # Lista de notas +│ │ └── [id]/page.tsx # Detalle de nota +│ ├── new/page.tsx # Crear nota +│ ├── edit/[id]/page.tsx # Editar nota +│ ├── settings/page.tsx # Configuración +│ ├── capture/page.tsx # Captura externa +│ └── api/ # Rutas API +├── components/ +│ ├── dashboard.tsx +│ ├── note-list.tsx +│ ├── command-palette.tsx +│ ├── work-mode-toggle.tsx +│ ├── quick-add.tsx +│ └── ... +├── lib/ +│ ├── work-mode.ts +│ ├── search.ts +│ ├── related.ts +│ ├── backlinks.ts +│ ├── usage.ts +│ ├── drafts.ts +│ ├── backup.ts +│ └── ... +└── types/ + └── note.ts +``` diff --git a/docker-compose.yml b/docker-compose.yml index cf2b7cb..cdd8f19 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -6,7 +6,7 @@ services: ports: - "3000:3000" volumes: - - ./prisma:/app/prisma + - ./data:/app/data environment: - - DATABASE_URL=file:./dev.db + - DATABASE_URL=file:./data/dev.db restart: unless-stopped