ДОКУМЕНТАЦИЯ

Документация «Шрифтика»

Полное описание программного обеспечения «Шрифтик»: что оно умеет, на чём работает, как его установить, эксплуатировать и сопровождать.

Версия 1.0.0 · обновлено 28 июля 2026 года

1. Общие сведения

Наименование программного обеспечения: «Шрифтик».

Правообладатель: индивидуальный предприниматель Овчаренко Андрей Александрович, ИНН 611602008192, ОГРНИП 318619600238627. Исключительное право принадлежит правообладателю в полном объёме на территории всего мира и не ограничено ни по сроку, ни по территории.

Официальный сайт и экземпляр программы: shriftik.ru.

Назначение. «Шрифтик» — каталог свободно распространяемых шрифтов с поддержкой кириллицы и инструменты работы с ними. Программа решает задачу подбора шрифта: помогает найти начертание по назначению, языку, категории или образцу изображения, сравнить варианты на собственном тексте, проверить условия лицензии и получить готовые файлы для установки в систему либо для подключения на сайт.

Пользователи. Дизайнеры, верстальщики, веб-разработчики, авторы презентаций и документов, преподаватели и все, кому нужен шрифт с разрешённым коммерческим использованием. Основные разделы каталога открыты без регистрации.

2. Функциональные характеристики

2.1. Каталог и навигация

  • каталог шрифтов с постраничной выдачей, сортировкой и фильтрами;
  • карточка шрифта: начертания, наборы символов, поддержка языков, сведения о лицензии и авторе;
  • рубрикация по категориям, тематические подборки, страницы дизайнеров и словолитен;
  • страницы языков — подбор шрифтов, покрывающих нужный алфавит;
  • статьи и справочные материалы о типографике и установке шрифтов.

2.2. Поиск

  • текстовый поиск по названию, автору и характеристикам с ранжированием по релевантности;
  • поисковые подсказки по мере ввода;
  • поиск шрифта по загруженному изображению — распознавание начертания по образцу;
  • фильтрация выдачи по категориям, языкам и признакам начертания.

2.3. Работа со шрифтом

  • предпросмотр на собственном тексте с регулировкой размера и начертания;
  • интерактивный тестер для сравнения нескольких шрифтов на одной странице;
  • скачивание архива со шрифтом и файлом лицензии;
  • генерация CSS-правил @font-face и веб-кита для подключения шрифта на сайт.

2.4. Личный кабинет

  • регистрация, вход, выход, восстановление пароля по электронной почте;
  • личная библиотека и избранное с синхронизацией между сайтом и мобильным приложением;
  • редактирование профиля.

2.5. Пополнение каталога и модерация

  • заявка на добавление шрифта: черновик, загрузка файлов шрифта и лицензии, предпросмотр, отправка;
  • рабочее место модератора: очередь заявок, одобрение, отклонение, запрос доработки;
  • администрирование карточек шрифтов, категорий, подборок, статей и архивирование записей;
  • сводка и статистика по каталогу и обращениям.

2.6. Интеграции

  • публичный HTTP API v3 с описанием в формате OpenAPI;
  • публичный MCP-сервер для подключения каталога к ИИ-клиентам — описание на странице Публичный MCP;
  • мобильное приложение для Android, работающее через тот же API;
  • карты сайта и структурированные данные для поисковых систем.

3. Состав и архитектура

Программа состоит из трёх программных модулей и общего хранилища данных.

  • Серверный модуль (backend). Java 25, Spring Boot 4.1. Реализует публичный API v3, бизнес-логику каталога, поиск, авторизацию, модерацию, выдачу файлов шрифтов и MCP-сервер. Схема базы данных версионируется миграциями Flyway.
  • Веб-модуль (frontend). Next.js, React и TypeScript на Node.js. Отвечает за публичные страницы, личный кабинет, административный интерфейс, серверный рендеринг и SEO.
  • Мобильный модуль. Приложение для Android на Flutter (Dart). Использует тот же публичный API, поддерживает локальный предпросмотр файла шрифта с устройства.
  • Хранилище. СУБД PostgreSQL 18 и файловое хранилище шрифтов и превью.

Модули разворачиваются в контейнерах Docker за обратным прокси Apache и HAProxy, которые обеспечивают TLS, кеширование публичных ответов и обновление без простоя.

4. Системные требования

4.1. Рабочее место пользователя

  • браузер с поддержкой актуальных веб-стандартов: Chrome, Yandex Browser, Firefox, Safari, Edge;
  • подключение к сети Интернет; установка ПО на устройство пользователя не требуется;
  • мобильное приложение: Android 7.0 и новее.

4.2. Сервер для самостоятельного развёртывания

  • процессор x86-64, 4 ядра и более;
  • оперативная память от 8 ГБ;
  • дисковое пространство от 100 ГБ с учётом файлов шрифтов и превью;
  • операционная система семейства GNU/Linux с ядром 5.x и новее (эксплуатируется на Debian/Ubuntu);
  • Docker Engine с поддержкой Compose v2;
  • СУБД PostgreSQL 18 — в контейнере либо внешняя;
  • среда сборки: JDK 25 и Node.js 24 для сборки из исходного текста.

Программа не использует проприетарных компонентов, требующих отдельного лицензирования, и работает на операционных системах и СУБД, включённых в реестр российского ПО.

5. Установка и первичная настройка

Публичный экземпляр программы установки не требует: сервис доступен по адресу shriftik.ru. Ниже описано развёртывание собственного экземпляра из поставляемых файлов.

5.1. Подготовка

  • установить Docker Engine и Compose v2;
  • получить дистрибутив: архив с исходным текстом и собранными образами либо доступ к репозиторию;
  • подготовить параметры окружения по шаблонам deploy/env.example и .env.example.

5.2. Развёртывание

Запуск базы данных и серверного модуля:

docker compose --env-file deploy/env.example \
  -f compose.deploy.example.yml up -d --build

Проверка готовности серверного модуля:

curl http://localhost:8080/actuator/health

При первом запуске Flyway автоматически применяет миграции и создаёт схему базы данных. Веб-модуль собирается командой npm ci && npm run build и запускается как Node-сервис или контейнер; адрес серверного модуля задаётся переменной BACKEND_API_ORIGIN.

5.3. Обновление

Обновление выполняется заменой образов модулей с последующим перезапуском: схема базы данных приводится к нужной версии миграциями при старте, публичный трафик переключается на новый экземпляр только после успешной проверки работоспособности.

6. Порядок работы и эксплуатация

6.1. Работа пользователя

  • открыть каталог и сузить выдачу фильтрами по категории, языку или начертанию;
  • ввести собственный текст в поле предпросмотра, чтобы оценить шрифт на своём материале;
  • загрузить изображение, если нужно найти шрифт по образцу;
  • открыть карточку шрифта, проверить условия лицензии и скачать архив;
  • для подключения шрифта на сайт скопировать правила @font-face или скачать веб-кит;
  • при наличии аккаунта — сохранить шрифт в личную библиотеку или предложить свой шрифт в каталог.

6.2. Работа администратора

  • обрабатывать очередь заявок: одобрять, отклонять или возвращать на доработку;
  • редактировать карточки шрифтов, категории, подборки и статьи;
  • контролировать сводку и статистику каталога.

6.3. Эксплуатация сервиса

  • состояние серверного модуля контролируется пробой /actuator/health;
  • журналы модулей собираются средствами Docker и хранятся на сервере;
  • резервное копирование базы данных и файлового хранилища выполняется по расписанию;
  • частота анонимных скачиваний ограничивается для защиты от злоупотреблений;
  • нештатные ситуации фиксируются по журналам, восстановление выполняется откатом на предыдущий образ модуля и, при необходимости, восстановлением базы данных из резервной копии.

7. Демонстрационный доступ

Публичная часть программы — каталог, поиск, карточки шрифтов, предпросмотр, тестер, скачивание, статьи и публичный MCP — доступна без регистрации и без ограничений по адресу shriftik.ru. Отдельная демонстрационная установка не требуется.

Учётная запись для проверки личного кабинета, отправки шрифта на модерацию и работы административного интерфейса предоставляется по запросу на shriftik@krot.name в течение одного рабочего дня. Административный доступ выдаётся на изолированном стенде, поскольку в рабочей административной части обрабатываются персональные данные пользователей.

8. Жизненный цикл, поддержка и совершенствование

8.1. Процессы разработки

  • исходный текст хранится в системе контроля версий Git на технических средствах правообладателя;
  • каждое изменение оформляется отдельной веткой и проходит проверку перед включением в основную;
  • автоматические проверки включают статический анализ, модульные и интеграционные тесты, проверку контракта OpenAPI и сборку контейнерных образов;
  • версии нумеруются по схеме MAJOR.MINOR.PATCH, релиз оформляется тегом, к которому привязаны собранные артефакты и запись в журнале изменений.

8.2. Выпуск и развёртывание

  • релизная сборка выполняется на технических средствах правообладателя на территории Российской Федерации;
  • обновление рабочего сервиса выполняется без простоя с автоматической проверкой работоспособности и возможностью отката;
  • исправления критических дефектов выпускаются вне очереди.

8.3. Поддержка пользователей

  • обращения принимаются по адресу shriftik@krot.name;
  • срок первичного ответа — один рабочий день;
  • поддержка включает консультации по работе с сервисом, приём сообщений об ошибках и пожеланий;
  • устранение неисправностей и модернизация выполняются правообладателем без привлечения иностранных лиц.

8.4. Персонал

Разработку, сопровождение и модернизацию обеспечивает правообладатель. Для эксплуатации собственного экземпляра достаточно одного системного администратора с навыками работы с GNU/Linux, Docker и PostgreSQL; для работы с сервисом как пользователю специальная подготовка не требуется.

9. Стоимость и условия использования

Использование сервиса «Шрифтик» на сайте shriftik.ru, включая просмотр каталога, поиск, предпросмотр и скачивание шрифтов, а также использование мобильного приложения — бесплатно. Плата за доступ, регистрацию, скачивание файлов и обращения в поддержку не взимается, реклама в сервисе не размещается.

Условия использования конкретного шрифта определяются его собственной лицензией, которая указана в карточке и вложена в архив. В каталог принимаются шрифты, лицензия которых допускает свободное распространение.

Стоимость передачи прав на программу и порядок оплаты определяются отдельным договором с правообладателем; тарифы на сопровождение по запросу.

Обработка персональных данных описана в Политике конфиденциальности.

10. Контакты

Правообладатель: ИП Овчаренко Андрей Александрович, ИНН 611602008192, ОГРНИП 318619600238627.

Электронная почта: shriftik@krot.name — поддержка, вопросы по документации, запрос демонстрационного доступа и коммерческих условий.

Сайт: shriftik.ru.