Шаблон для написания своего backend-сервиса на платформе VK Mini Apps.
Шаблон можно также использовать для написания backend-сервиса с кастомной авторизацией. Необходимо лишь убрать код, связанный непосредственно с VK.
Название типа | Пример значения |
---|---|
boolean |
0 или 1 |
number |
77361829 |
string |
some-string |
AppCredentials |
66731827:my-secret-key,553261324:another-secret |
Для запуска проекта необходимо создать файл .env
в котором передать
указанные переменные:
Название | Тип | Обязательный | Значение по умолчанию | Описание |
---|---|---|---|---|
APP_ENV |
local , staging , production |
да | Среда запуска приложения | |
ENABLE_CORS |
boolean |
нет | 0 |
Включить CORS |
GQL_PUBLIC_HTTP_ENDPOINT |
string |
нет | /gql |
Путь GraphQL для доступа к пользовательским запросам |
GQL_PUBLIC_WS_ENDPOINT |
string |
нет | Путь GraphQL для доступа к пользовательскому веб-сокет подключению | |
GQL_ADMIN_HTTP_ENDPOINT |
string |
нет | /gql-adm |
Путь GraphQL для доступа к админским запросам |
GQL_ADMIN_WS_ENDPOINT |
string |
нет | Путь GraphQL для доступа к пользовательскому веб-сокет подключению | |
MAX_THREADS_COUNT |
number |
нет | 1 |
Максимальное количество поток, в которое можно запустить сервер |
PORT |
number |
да | Номер порта сервера | |
SENTRY_DSN |
string |
Обязателен при APP_ENV равном staging или production |
Sentry DSN для логирования ошибок | |
SENTRY_DEPLOY_TOKEN |
string |
Обязателен при APP_ENV равном staging или production |
Токен Sentry используемый при деплое артефактов | |
VK_APP_API_ACCESS_TOKEN |
string |
да | Ключ доступа приложения | |
VK_APP_API_RPS |
number |
нет | 3 |
Максимальный RPS для инстанса VKAPI на основе ключа приложения |
VK_APP_CREDENTIALS |
AppCredentials |
да | Список приложений с их секретными ключами у которых есть доступ в API | |
VK_APP_ID |
number |
да | Идентификатор приложения VK Mini Apps | |
VK_LAUNCH_PARAMS_EXPIRATION |
number |
нет | 86400 (1 день) |
Время в секундах, после которого параметры запуска признаются истекшими |
Скрипт | Описание |
---|---|
yarn dev |
Запускает сервер в режиме разработки. Перезапускает сервер в случае изменений файлов |
yarn build |
Собирает проект |
yarn start |
Запускает собранную версию сервера |
yarn tunnel {port} |
Запускает туннель Ngrok по указанному порту |
Скрипт | Описание |
---|---|
git add -A |
Указать Git'у добавить все измененные файлы для последующего коммита |
yarn commit |
Создать коммит при помощи commitizen. Необходимо корректно указывать все поля, предлагаемые им |
git push |
Отправить свои изменения |
- Установить зависимости -
yarn install
- Создать
.env
файл в корне файла и указать все необходимые переменные окружения - Собрать проект -
yarn build
- Запустить проект -
yarn start
Для сборки проекта используется task manager gulp
. Конечным результатом его
работы должно быть создание папки, в которой находится уже собранный проект.
Сборка происходит таким образом, чтобы собранный проект можно было запустить
как локально, так и в docker-контейнере.