6.3 KiB
vkmgr — StackWorks VK Hub
Заготовка VK Mini App для владельцев групп ВКонтакте. Замысел: дать группе мини-кабинет, где не теряются заявки — каталог услуг, форма заявки, статусы, роли (owner / manager / client), админский список и уведомление в Telegram о новой заявке.
Фактически в репозитории от этого замысла есть только схема базы SQLite, манифест зависимостей backend и пример файла окружения. Кода приложения — ни серверного, ни клиентского — нет.
Стек
По тому, что есть в коде:
- Node.js, ES-модули (
"type": "module"). - Express 4, helmet, cors, morgan, zod — заявлены в зависимостях.
- SQLite через
better-sqlite3, режим WAL, включённые внешние ключи. - dotenv, node-fetch.
По исходному README (в репозитории не реализовано): React + VKUI + VK Bridge на фронтенде, Vite, VK Mini Apps API, Telegram Bot API, nginx и docker-compose.
Структура
| Путь | Назначение |
|---|---|
backend/src/db.js |
Единственный файл с кодом. Подключение к SQLite, создание каталога БД, migrate() с полной DDL-схемой, запуск миграции при импорте и режим --migrate |
backend/package.json |
Зависимости и скрипты dev / start / migrate |
backend/.env.example |
Пример переменных окружения |
VERSION |
0.1.0 |
.gitignore |
Игнор node_modules, .env, data/, dist/, файлов SQLite |
README.upstream.md |
Исходное описание замысла и планов от автора |
Таблицы в схеме: users, groups, group_members, services, clients, leads, lead_comments, faq_items, audit_logs.
Каталоги frontend/, docs/, infra/ и скрипт install.sh, описанные в исходном README, в репозитории отсутствуют.
Как запустить
Приложение запустить нельзя: backend/src/server.js, на который ссылаются скрипты dev и start, в репозитории отсутствует.
Работает только создание схемы БД:
cd backend
cp .env.example .env
npm install
npm run migrate
После этого в DATABASE_PATH появится файл SQLite со всеми таблицами.
Команды из исходного README (npm run dev в backend, весь блок про frontend, install.sh, настройка VK Mini App и certbot) относятся к ненаписанному коду и сейчас не выполняются.
Конфигурация
Всё из backend/.env.example. В коде реально читается только DATABASE_PATH, остальные переменные заготовлены под ненаписанный сервер.
| Имя | Назначение | Пример |
|---|---|---|
APP_PORT |
Порт HTTP-сервера | 8080 |
APP_ORIGIN |
Разрешённый источник для CORS (адрес фронтенда) | http://localhost:5173 |
DATABASE_PATH |
Путь к файлу SQLite | ./data/vk_hub.sqlite |
VK_APP_ID |
ID приложения VK Mini App | см. .env |
VK_APP_SECRET |
Секрет приложения VK для проверки подписи launch params | см. .env |
TELEGRAM_BOT_TOKEN |
Токен бота для уведомлений о заявках | см. .env |
TELEGRAM_ADMIN_CHAT_ID |
Чат, куда шлются уведомления | см. .env |
Переменная VITE_API_URL для фронтенда упоминается в исходном README, но файла frontend/.env.example в репозитории нет.
Состояние
Заброшено на стадии заготовки. 6 коммитов, все за один день — 19.05.2026, последний коммит той же датой. Версия 0.1.0.
По сути это спроектированная схема данных плюс описание планов. Ни одного HTTP-обработчика, ни одной строки фронтенда.
Что не доделано
- Нет
backend/src/server.js— сервер не написан. Скриптыnpm run devиnpm startпадают. - Нет ни одного маршрута API: инициализация пользователя, подключение группы, каталог услуг, создание заявки, список заявок, смена статуса — всё только в планах.
- Нет фронтенда: каталог
frontend/отсутствует целиком. - Нет проверки подписи VK launch params, хотя
VK_APP_SECRETзаготовлен. - Нет отправки уведомлений в Telegram, хотя
node-fetchи токен заготовлены. - Заявленные зависимости
express,helmet,cors,morgan,zod,node-fetchнигде не импортируются. - Нет
install.sh,docker-compose, конфигурации nginx и каталогаdocs/, упомянутых в исходном README. - Миграции одноразовые:
migrate()выполняется как побочный эффект импортаdb.js, версионирования схемы нет. Изменение схемы потребует ручных ALTER. - Таблица
audit_logsсоздана, но писать в неё некому. - Проверка прав администратора группы через VK API, тарифы и оплата, rate-limit — сам автор в исходном README отметил их как обязательные перед боевым запуском.
- Тестов нет, CI нет.