Sobre el proyecto
Fold es una aplicación de tareas autoalojada que funciona con cualquier servidor CalDAV compatible con el estándar. Desarrollada como software personal, almacena todas las tareas como propiedades VTODO ordinarias que permanecen legibles por otros clientes CalDAV, garantizando portabilidad y longevidad de los datos.
Entre sus características principales se incluye un analizador de lenguaje natural para añadir tareas: escribir algo como "Limpiar los canalones mañana a las 3pm #tareas p1" extrae automáticamente la fecha de vencimiento, hora, lista y prioridad con una sola pulsación de Enter. Las vistas como Hoy, Mañana, Próximos 7 días, Resumen y Búsqueda agregan datos de todas las listas. La aplicación reconoce nombres especiales de listas: las tareas de Salud aparecen en la parte superior de cada vista, mientras que Compras se colapsan en una sola fila ya que la pregunta es si se hizo la compra, no cuántos artículos se enlistaron.
Se admite operación sin conexión mediante cola de cambios local que se reproduce cuando se restablece la conectividad. La aplicación es orientada a teclado e instalable como PWA en teléfonos. No incluye notificaciones, rachas ni recordatorios molesta.
No existe base de datos de usuarios ni almacén de sesiones. Al iniciar sesión, las credenciales CalDAV se verifican contra el servidor y se cifran con AES-256-GCM en una cookie HttpOnly almacenada en el navegador. JavaScript no puede leer la cookie. Cada solicitud subsiguiente desencripta las credenciales en la memoria del servidor para el ciclo CalDAV y luego las descarta inmediatamente. Reiniciar el contenedor no pierde nada porque nada se persiste en el servidor.
El despliegue utiliza Docker con una única variable de entorno requerida, SESSION_SECRET, que cifra la cookie de credenciales. Se recomienda un proxy inverso con TLS ya que la cookie contiene credenciales sensibles. Existe una opción ALLOW_INSECURE_COOKIE para redes LAN confiables sin TLS. CALDAV_ALLOWED_HOSTS puede restringir qué servidores CalDAV acepta el formulario de inicio de sesión, protegiendo instancias de uso público.
Fold deliberadamente no admite subtareas, tareas recurrentes, sincronización en segundo plano ni múltiples cuentas. Las propiedades RRULE existentes se preservan pero nunca se crean ni editan por la aplicación. Una cuenta CalDAV está activa a la vez.
El proyecto tiene licencia MIT. El desarrollo utiliza Bun, con capas de pruebas tipadas que incluyen pruebas unitarias contra Vitest, pruebas de integración contra un servidor Radicale real y pruebas e2e con Playwright. Las especificaciones completas y decisiones de arquitectura están documentadas en el directorio docs del repositorio.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.