Об этом проекте

AllisWell — это открытое приложение для повышения продуктивности с возможностью самостоятельного развёртывания, охватывающее задачи, проекты, заметки и напоминания; позиционируется как бесплатная альтернатива Todoist, Things 3, TickTick, Apple Reminders и Notion. Клиент — единая кодовая база на Flutter для iOS, Android, Web, macOS, Windows и Linux; бэкенд — сервис на Node.js/Fastify, использующий MySQL (или MariaDB) в качестве основного хранилища, Redis для очередей и рассылки в реальном времени и S3-совместимое объектное хранилище (Cloudflare R2 или любой S3) для вложений. Основные возможности, описанные в README: - Задачи и проекты: задачи принадлежат проектам и содержат описания, теги, подзадачи, цвет и вложения; значки проектов сопровождают задачи во всех представлениях. Проекты поддерживают цвета, избранное, архивирование и вкладки «Задачи/Заметки/Файлы» для каждого проекта. - Заметки: рабочее пространство Markdown с поддержкой GitHub-flavored Markdown (таблицы, списки задач, сноски, врезки, математика KaTeX, код с подсветкой синтаксиса, диаграммы Mermaid), с режимами чтения, расширенного редактора и исходного текста. Внешние файлы .md можно открывать, редактировать и сохранять обратно, с явной обработкой конфликтов и без автоматического сохранения. - Напоминания: срочные задачи используют доставку уровня будильника, предназначенную для звонка сквозь беззвучный режим и режим фокусировки, повторяют сигнал до подтверждения и предлагают предустановки отложенного напоминания с указанием времени следующего звонка. Журнал будильников фиксирует вмешательство на уровне ОС. - Повторяемость: правила включают ежедневные/еженедельные/ежемесячные/ежегодные, последний день месяца, n-й день недели и смещения, с предпросмотром «следующие 5» и материализованными строками задач на двенадцать месяцев вперёд. Ежемесячные правила привязываются к коротким месяцам (например, 31-е становится 28 февраля), а не пропускаются. - Синхронизация с календарём: двусторонняя синхронизация с Google Calendar и Apple Calendar описана как постоянно включённая, а не опциональная. - Поиск: локальный, нечувствительный к регистру и диакритике поиск по локальной реплике, ранжируемый по заголовку, тегу и телу, работающий офлайн. - Синхронизация: локально-ориентированная архитектура с исходящей очередью мутаций, журналом ревизий, идемпотентной отправкой, разрешением конфликтов на уровне полей по принципу «последняя запись побеждает» и каналом Socket.IO для обновлений между устройствами. - Файлы: вложения к задачам, заметкам и проектам, а также глобальный раздел «Файлы» с вложенными папками, хранящиеся через предподписанные URL, чтобы API не проксировал байты. - Виджеты: виджеты на домашнем экране для iPhone, iPad, Android и Mac, отражающие разделы «Главная», с завершением в один касание, опциональной областью по проекту, поддержкой экрана блокировки на iPhone и живыми часами. - Вход: электронная почта/пароль плюс опциональный вход через Google и Apple, при этом учётные записи по-прежнему принадлежат собственной базе данных экземпляра. - Опциональный ИИ: упоминаются провайдеры с собственным ключом и коннектор MCP для Claude/ChatGPT. - Локализация: английский и турецкий, дополнительные языки добавляются через JSON-файл. Развёртывание: опубликованные Docker-образы для API и веб-приложения (linux/amd64 и linux/arm64) позволяют развернуть самостоятельно через предоставленный файл docker-compose; API создаёт и мигрирует схему при запуске, а данные хранятся в именованных томах. Для разработки требуются Node.js 22+, Docker и Flutter 3.44+, доступен скрипт демонстрационного наполнения. README также откровенно указывает на ограничения: нет напоминаний на основе местоположения или обмена сообщениями, нет приглашений/RSVP/обработки занятости (делегируется провайдеру календаря) и модель рабочего пространства без интерфейса совместного доступа. Лицензия — PolyForm Noncommercial, бесплатна для личного использования и самостоятельного развёртывания.