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:
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user