Sobre el proyecto

AllisWell es una aplicación de productividad de código abierto y autoalojable que abarca tareas, proyectos, notas y recordatorios, posicionada como una alternativa gratuita a Todoist, Things 3, TickTick, Apple Reminders y Notion. El cliente es una única base de código Flutter dirigida a iOS, Android, Web, macOS, Windows y Linux; el backend es un servicio Node.js/Fastify que usa MySQL (o MariaDB) como almacén canónico, con Redis para colas y distribución en tiempo real y almacenamiento de objetos compatible con S3 (Cloudflare R2 o cualquier S3) para archivos adjuntos. Capacidades principales descritas en el README: - Tareas y proyectos: las tareas pertenecen a proyectos y llevan descripciones, etiquetas, subtareas, color y archivos adjuntos; las insignias de proyecto siguen a las tareas en todas las vistas. Los proyectos admiten colores, favoritos, archivado y pestañas de Tareas/Notas/Archivos por proyecto. - Notas: un espacio de trabajo Markdown que renderiza Markdown al estilo GitHub (tablas, listas de tareas, notas al pie, avisos, matemáticas KaTeX, código con resaltado de sintaxis, diagramas Mermaid), con vistas de lectura, editor enriquecido y código fuente. Se pueden abrir, editar y guardar de vuelta archivos .md externos, con manejo explícito de conflictos y sin autoguardado silencioso. - Recordatorios: las tareas urgentes usan una entrega de nivel alarma pensada para sonar a través del modo Silencio y Concentración, realertar hasta que se confirme y ofrecer preajustes de snooze que indican la hora del próximo aviso. Un registro de alarmas documenta la interferencia a nivel del sistema operativo. - Recurrencia: las reglas incluyen diaria/semanal/mensual/anual, último día del mes, enésimo día de la semana y desplazamientos, con una vista previa de los "próximos 5" y doce meses de filas de tareas materializadas. Las reglas mensuales se ajustan a los meses cortos (p. ej., el 31 pasa al 28 de febrero) en lugar de omitirse. - Sincronización de calendario: la sincronización bidireccional con Google Calendar y Apple Calendar se describe como siempre activa en lugar de opcional. - Búsqueda: búsqueda local, insensible a mayúsculas y acentos, sobre la réplica en el dispositivo, clasificada por título, etiqueta y cuerpo, y que funciona sin conexión. - Sincronización: arquitectura local-first con una bandeja de salida de mutaciones, registro de revisiones, envío idempotente, last-write-wins a nivel de campo y un canal Socket.IO para actualizaciones entre dispositivos. - Archivos: archivos adjuntos en tareas, notas y proyectos, además de una sección global de Archivos con carpetas anidables, almacenados mediante URL prefirmadas para que la API no actúe como proxy de los bytes. - Widgets: widgets de pantalla de inicio para iPhone, iPad, Android y Mac que reflejan los buckets de Inicio, con finalización con un toque, alcance opcional por proyecto, soporte de pantalla de bloqueo en iPhone y un reloj en vivo. - Inicio de sesión: correo electrónico/contraseña más inicio de sesión opcional con Google y Apple, con cuentas que siguen siendo propiedad de la base de datos de la propia instancia. - IA opcional: se mencionan proveedores con clave propia y un conector MCP para Claude/ChatGPT. - Localización: inglés y turco, con idiomas adicionales añadidos mediante un archivo JSON. Despliegue: las imágenes Docker publicadas para la API y la aplicación web (linux/amd64 y linux/arm64) permiten el autoalojamiento mediante un archivo docker-compose proporcionado; la API crea y migra su esquema al iniciar, y los datos residen en volúmenes con nombre. El desarrollo requiere Node.js 22+, Docker y Flutter 3.44+, con un script de datos de demostración disponible. El README también declara limitaciones con franqueza: no hay recordatorios basados en ubicación o mensajería, ni invitaciones/RSVP/gestión de disponibilidad (delegados al proveedor de calendario), y un modelo de espacio de trabajo sin interfaz de uso compartido. La licencia es PolyForm Noncommercial, gratuita para uso personal y autoalojamiento.