Skip to content

01. Codebase & Folder Architecture

Fase: 06 — Diseño Técnico
Entregable: 01
Proyecto: NoteVault (PC, Mac, Android, iPhone)


1. Topología Física Estricta de Carpetas

Desktop (PC Windows, macOS, Linux)

NoteVault/frontend/
├── electron/
│   ├── main.ts                    # Ciclo de vida Electron, gestión de ventanas y IPC handler
│   └── preload.ts                 # Script de preload con contextBridge blindado
├── src/
│   ├── api/                       # Despacho y registro de métodos IPC
│   │   ├── registry.ts            # Registro de métodos y resolución segura
│   │   ├── appState.ts            # Estado en memoria de la bóveda activa
│   │   └── modules/               # Controladores API por módulo funcional (93 archivos)
│   ├── core/                      # Dominio y gestores de negocio puros
│   │   ├── vaultManager.ts        # Apertura, migración y escaneo
│   │   ├── notesService.ts        # I/O de notas y backlinks
│   │   ├── habitManager.ts        # Hábitos y rachas
│   │   ├── exerciseManager.ts     # Ejercicios y logs de series
│   │   ├── taskManager.ts         # Tareas y recurrencias
│   │   ├── projectManager.ts      # Proyectos y Kanban
│   │   ├── financeManager.ts      # Finanzas y balances
│   │   ├── studySrsManager.ts     # Repetición espaciada SRS
│   │   ├── mentor/                # Motor del plan de estudio
│   │   └── canvas/                # Motor de generación de mapas
│   ├── components/                # Árbol de componentes React 19
│   ├── store/                     # Stores Zustand (navState, tabState)
│   ├── lib/                       # bridge.ts y utilidades de cliente
│   ├── App.tsx                    # Layout raíz y pestañas múltiples
│   └── main.tsx                   # Punto de entrada de renderizado

Mobile (Android & iPhone / iOS)

notevault_mobile/
├── lib/
│   ├── core/                      # Réplica simétrica en Dart
│   │   ├── vault_format.dart      # Contrato canónico de formato (v4)
│   │   ├── vault_service.dart     # Acceso al sistema de archivos móvil
│   │   ├── habit_manager.dart     # Homólogo de HabitManager
│   │   ├── exercise_manager.dart  # Homólogo de ExerciseManager
│   │   ├── task_manager.dart      # Homólogo de TaskManager
│   │   ├── project_manager.dart   # Homólogo de ProjectManager
│   │   └── finance_manager.dart   # Homólogo de FinanceManager
│   ├── ui/
│   │   ├── screens/               # Pantallas Flutter completas
│   │   ├── widgets/               # Widgets reutilizables (barras, tarjetas)
│   │   └── theme/                 # Tokens visuales y tipografía
│   └── main.dart                  # Punto de entrada Flutter

2. Marco Conceptual: Topología de Código Fuente

1. **Entidad principal e independiente.** 2. **Es la entidad líder del conjunto de datos:** posee un identificador global único que fija la ruta canónica de cada paquete (`codebase_folder_id`: `FOLDER-FRONTEND-CORE`) consultado en las reglas de importación. 3. **Existe por sí misma en el diseño de implementación sin depender de enlaces dinámicos**, y es la única responsable de garantizar la modularidad *Package by Feature* y la inversión de dependencias. 4. **Punto de entrada y límite de consistencia:** Prohíbe que componentes de presentación importen directamente APIs del sistema operativo sin pasar por la capa de servicio.