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/
|
src/
|
||||||
├── app/ # Next.js App Router
|
├── app/ # Next.js App Router
|
||||||
│ ├── api/ # API routes
|
│ ├── api/ # API routes
|
||||||
│ │ ├── notes/ # CRUD de notas
|
│ │ ├── notes/ # CRUD de notas, versions, quick
|
||||||
│ │ ├── tags/ # Tags y sugerencias
|
│ │ ├── tags/ # Tags y sugerencias
|
||||||
│ │ ├── search/ # Búsqueda avanzada
|
│ │ ├── search/ # Búsqueda avanzada
|
||||||
│ │ ├── usage/ # Tracking de uso
|
│ │ ├── usage/ # Tracking de uso
|
||||||
@@ -36,19 +36,22 @@ src/
|
|||||||
│ ├── note-form.tsx # Formulario de nota
|
│ ├── note-form.tsx # Formulario de nota
|
||||||
│ ├── note-connections.tsx # Panel de conexiones
|
│ ├── note-connections.tsx # Panel de conexiones
|
||||||
│ ├── related-notes.tsx # Notas relacionadas
|
│ ├── related-notes.tsx # Notas relacionadas
|
||||||
|
│ ├── version-history.tsx # Historial de versiones
|
||||||
│ └── track-note-view.tsx # Tracking de vistas
|
│ └── track-note-view.tsx # Tracking de vistas
|
||||||
└── lib/ # Utilidades
|
└── lib/ # Utilidades
|
||||||
├── prisma.ts # Cliente Prisma
|
├── prisma.ts # Cliente Prisma
|
||||||
├── usage.ts # Tracking de uso y co-uso
|
├── usage.ts # Tracking de uso y co-uso
|
||||||
├── search.ts # Búsqueda con scoring
|
├── search.ts # Búsqueda con scoring
|
||||||
|
├── query-parser.ts # Parser de queries avanzadas
|
||||||
|
├── versions.ts # Historial de versiones
|
||||||
├── related.ts # Notas relacionadas
|
├── related.ts # Notas relacionadas
|
||||||
├── backlinks.ts # Sistema de enlaces [[wiki]]
|
├── backlinks.ts # Sistema de enlaces [[wiki]]
|
||||||
├── tags.ts # Normalización y sugerencias
|
├── tags.ts # Normalización y sugerencias
|
||||||
├── metrics.ts # Métricas de dashboard
|
├── metrics.ts # Métricas de dashboard
|
||||||
├── centrality.ts # Cálculo de centralidad
|
├── centrality.ts # Cálculo de centralidad
|
||||||
├── type-inference.ts # Detección automática de tipo
|
├── type-inference.ts # Detección automática de tipo
|
||||||
├── link-suggestions.ts # Sugerencias de enlaces
|
├── link-suggestions.ts # Sugerencias de enlaces
|
||||||
├── features.ts # Feature flags
|
├── features.ts # Feature flags
|
||||||
└── validators.ts # Zod schemas
|
└── validators.ts # Zod schemas
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -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
|
## APIs Principales
|
||||||
|
|
||||||
| Endpoint | Método | Descripción |
|
| Endpoint | Método | Descripción |
|
||||||
|----------|--------|-------------|
|
|----------|--------|-------------|
|
||||||
| `/api/notes` | GET, POST | Listar/crear notas |
|
| `/api/notes` | GET, POST | Listar/crear notas |
|
||||||
| `/api/notes/[id]` | GET, PUT, DELETE | CRUD de nota |
|
| `/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/quick` | POST | Creación rápida |
|
||||||
| `/api/notes/links` | GET | Sugerencias de enlaces |
|
| `/api/notes/links` | GET | Sugerencias de enlaces |
|
||||||
| `/api/search` | GET | Búsqueda con scoring |
|
| `/api/search` | GET | Búsqueda con scoring |
|
||||||
| `/api/tags` | GET | Listar/buscar tags |
|
| `/api/tags` | GET | Listar/buscar tags |
|
||||||
| `/api/tags/suggest` | GET | Sugerencias automáticas |
|
| `/api/tags/suggest` | GET | Sugerencias automáticas |
|
||||||
| `/api/usage` | GET | Estadísticas de uso |
|
| `/api/usage` | GET | Estadísticas de uso |
|
||||||
|
| `/api/usage/co-usage` | GET | Notas co-usadas |
|
||||||
| `/api/metrics` | GET | Métricas de dashboard |
|
| `/api/metrics` | GET | Métricas de dashboard |
|
||||||
| `/api/centrality` | GET | Notas más centrales |
|
| `/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
|
- 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
|
- 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
|
## Algoritmo de Scoring
|
||||||
|
|
||||||
```typescript
|
```typescript
|
||||||
@@ -168,15 +203,17 @@ centrality = backlinks(×3) + outboundLinks(×1) + usageViews(×0.5) + coUsageWe
|
|||||||
|
|
||||||
## Tests
|
## Tests
|
||||||
|
|
||||||
**181 tests** cubriendo:
|
**211 tests** cubriendo:
|
||||||
- API routes (CRUD, search, tags, etc.)
|
- API routes (CRUD, search, tags, etc.)
|
||||||
- Search y scoring
|
- Search y scoring
|
||||||
|
- Query parser
|
||||||
- Notas relacionadas
|
- Notas relacionadas
|
||||||
- Backlinks
|
- Backlinks
|
||||||
- Type inference
|
- Type inference
|
||||||
- Link suggestions
|
- Link suggestions
|
||||||
- Usage tracking
|
- Usage tracking
|
||||||
- Dashboard
|
- Dashboard
|
||||||
|
- Version history
|
||||||
|
|
||||||
## Comandos
|
## Comandos
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user