🦀 Markdown Vault — Motor Local-First en Rust & Tauri v2
Soberanía de Datos y Búsqueda Full-Text Ultrarrápida
Markdown Vault es una aplicación de escritorio local-first desarrollada con Rust y Tauri v2 para gestionar bases de conocimiento personales sin encerrar al usuario en formatos propietarios. Los archivos Markdown (
.md) son la única fuente de verdad inmutable en disco, mientras que SQLite FTS5 actúa como un índice de búsqueda descartable y reconstruible en cualquier momento.
- 💻 Repositorio GitHub: github.com/Alecwce/markdown-vault (Privado)
- 📂 Ruta Local:
/home/alexwce/Documentos/dev/markdown-vault- 📄 Arquitectura: Tauri v2 + Rust Core + React Frontend
🏛️ Principios Fundamentales del Proyecto
flowchart LR subgraph UI["🖥️ Frontend (React 18 + TypeScript)"] SearchBar["Búsqueda FTS5 con Debounce"] Editor["Visor de Markdown"] end subgraph Core["🦀 Backend Nativo (Rust + Tauri v2)"] IPC["Tauri IPC Command Gateway"] FSManager["Controlador de Sistema de Archivos"] SearchEngine["Indexador SQLite FTS5 (Schema v2)"] end subgraph Disk["💾 Almacenamiento Local"] MDFiles[("Archivos .md en Disco (Verdad Inmutable)")] SQLiteDB[("Índice SQLite (Descartable/Reconstruible)")] end UI <-->|Comandos Tauri Seguros| IPC IPC <--> FSManager IPC <--> SearchEngine FSManager <--> MDFiles SearchEngine <--> SQLiteDB
- Markdown es la Fuente de Verdad: Las notas viven en texto plano legible por humanos. Si se borra la base de datos SQLite, la aplicación la reconstruye al 100% reescaneando la carpeta.
- Seguridad de Memoria en Rust: React nunca accede directamente al disco; toda lectura y escritura pasa por el backend de Rust con validación estricta de rutas (prevención de Directory Traversal).
- Búsqueda FTS5 en Milisegundos: Búsqueda full-text de alto rendimiento con coincidencia de frases, ranking BM25, snippets contextuales y navegación por teclado.
- 100% Offline y Privado: Cero llamadas a servidores externos, cero telemetría y cero dependencias de nubes propietarias.
🛠️ Stack Tecnológico
| Capa | Herramienta | Rol |
|---|---|---|
| Backend Nativo | Rust (Tauri v2) | Acceso al sistema de archivos e indexación |
| Motor de Búsqueda | SQLite FTS5 | Motor de búsqueda de texto completo |
| Frontend | React 18 + TypeScript | Interfaz de usuario reactiva |
| Estilos | Tailwind CSS | Interfaz dark minimalista |