develop #1

Merged
darroyo merged 25 commits from develop into main 2026-03-24 01:31:17 +00:00
2 changed files with 171 additions and 10 deletions
Showing only changes of commit e0433f8e57 - Show all commits

177
README.md
View File

@@ -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
```

View File

@@ -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