docs: update project summary with MVP-4 features

- Add MVP-4 sprints 1-4 features
- Update structure with query-parser.ts, versions.ts
- Add NoteVersion model and versions API
- Update test count to 211
This commit is contained in:
2026-03-22 17:49:49 -03:00
parent a67442e9ed
commit 7c5fba5f12

View File

@@ -19,7 +19,7 @@ Recall es una aplicación de gestión de conocimiento personal (PKM) para captur
src/
├── app/ # Next.js App Router
│ ├── api/ # API routes
│ │ ├── notes/ # CRUD de notas
│ │ ├── notes/ # CRUD de notas, versions, quick
│ │ ├── tags/ # Tags y sugerencias
│ │ ├── search/ # Búsqueda avanzada
│ │ ├── usage/ # Tracking de uso
@@ -36,11 +36,14 @@ src/
│ ├── note-form.tsx # Formulario de nota
│ ├── note-connections.tsx # Panel de conexiones
│ ├── related-notes.tsx # Notas relacionadas
│ ├── version-history.tsx # Historial de versiones
│ └── track-note-view.tsx # Tracking de vistas
└── lib/ # Utilidades
├── prisma.ts # Cliente Prisma
├── usage.ts # Tracking de uso y co-uso
├── search.ts # Búsqueda con scoring
├── query-parser.ts # Parser de queries avanzadas
├── versions.ts # Historial de versiones
├── related.ts # Notas relacionadas
├── backlinks.ts # Sistema de enlaces [[wiki]]
├── tags.ts # Normalización y sugerencias
@@ -98,18 +101,32 @@ model Backlink {
}
```
### NoteVersion
```prisma
model NoteVersion {
id String @id @default(cuid())
noteId String
title String
content String
createdAt DateTime @default(now())
}
```
## APIs Principales
| Endpoint | Método | Descripción |
|----------|--------|-------------|
| `/api/notes` | GET, POST | Listar/crear notas |
| `/api/notes/[id]` | GET, PUT, DELETE | CRUD de nota |
| `/api/notes/[id]/versions` | GET, POST | Listar/crear versiones |
| `/api/notes/[id]/versions/[vid]` | GET, PUT | Ver/restaurar versión |
| `/api/notes/quick` | POST | Creación rápida |
| `/api/notes/links` | GET | Sugerencias de enlaces |
| `/api/search` | GET | Búsqueda con scoring |
| `/api/tags` | GET | Listar/buscar tags |
| `/api/tags/suggest` | GET | Sugerencias automáticas |
| `/api/usage` | GET | Estadísticas de uso |
| `/api/usage/co-usage` | GET | Notas co-usadas |
| `/api/metrics` | GET | Métricas de dashboard |
| `/api/centrality` | GET | Notas más centrales |
@@ -153,6 +170,24 @@ model Backlink {
- Desktop: una fila con logo, nav links, QuickAdd y botón Nueva nota
- Mobile: logo + QuickAdd + hamburguesa → dropdown con nav links y botón Nueva nota
### MVP-4 Sprint 1
- Query parser para búsquedas avanzadas (`type:`, `tag:`, `is:favorite`, `is:pinned`)
- Búsqueda en tiempo real con 300ms debounce
- Navegación por teclado (↑↓ Enter ESC) estilo Spotlight
- Dropdown de resultados con cache de 50 entradas
### MVP-4 Sprint 2
- Sidebar contextual con co-uso (notas vistas juntas)
- Cache de resultados de búsqueda
### MVP-4 Sprint 3
- Historial de versiones de notas
- API de versiones (crear, listar, restaurar)
- UI de historial en diálogo de nota
### MVP-4 Sprint 4
- Tests de historial de versiones (11 tests)
## Algoritmo de Scoring
```typescript
@@ -168,15 +203,17 @@ centrality = backlinks(×3) + outboundLinks(×1) + usageViews(×0.5) + coUsageWe
## Tests
**181 tests** cubriendo:
**211 tests** cubriendo:
- API routes (CRUD, search, tags, etc.)
- Search y scoring
- Query parser
- Notas relacionadas
- Backlinks
- Type inference
- Link suggestions
- Usage tracking
- Dashboard
- Version history
## Comandos