Dulus
An AI agent for your desktop and terminal, on any model you choose. Hosted models run on Fuel, paid in $DULUS.
翻訳待ち
No updates detected yet. GitHub releases will appear here.
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗Монорепозиторий из двух приложений, перенесённых с Macaly Cloud:
memorial-sites/ — публичный сайт (создание страниц памяти, книга памяти,
сборы, QR-коды, оплата). Имеет собственный backend на Convex.memorial-admin/ — админ-панель. Собственного backend не имеет: обращается
к тем же Convex-функциям, что и memorial-sites, по имени функции (см.
memorial-admin/src/lib/backend.ts). Поэтому оба приложения должны указывать на
один и тот же Convex-деплой.Оба — React/TanStack Start на Vite (шаблон tanstack-4-eu).
Для каждого приложения отдельно:
cd memorial-sites # или memorial-admin
npm install
cp .env.local.example .env.local
# заполните .env.local реальными значениями (см. ниже)
npm run dev
memorial-sites/.env.local.example содержит плейсхолдеры публичных переменных.
Реальные секретные значения (ключи Convex deploy, провайдера почты и т.д.) вынесены
в неотслеживаемый файл SECRETS_DO_NOT_COMMIT_memorial-sites.txt в корне
репозитория — он не закоммичен и не должен попасть в git. Перенесите значения из
него в свой .env.local после клонирования.
Карты (memorial-sites) рендерятся через Mapbox GL JS и требуют
VITE_MAPBOX_TOKEN — без него компонент карты показывает заглушку с
сообщением, а не пустой экран. Токен уже есть в
SECRETS_DO_NOT_COMMIT_memorial-sites.txt.
memorial-admin/.env.local.example содержит только VITE_DATA_CONVEX_URL —
это публичный (не секретный) URL Convex-деплоя memorial-sites, к которому
подключается админка. Отдельного секретного файла для админки не требуется:
своего backend и своих секретов у неё нет, кроме собственного набора
ResendOTP/auth для входа админов, который настраивается в Convex dashboard
самого memorial-admin (см. memorial-admin/convex/).
package-lock.json не переносился — выполните npm install, чтобы
сгенерировать его заново.public/logo192.png и public/logo512.png (в обоих
приложениях) не удалось перенести инструментом чтения файлов Macaly
(бинарные файлы им не поддерживаются). Их нужно будет пересоздать из
исходного логотипа и положить в соответствующие public/ папки.Перенос выполнен пакетами (по разделам кода), каждый коммит соответствует одному логическому куску приложения — так удобнее смотреть историю и при необходимости найти, когда и что было перенесено.