Задача
RYVIA 3D задумывался не как демонстрационная страница, а как рабочий сервис для заказов 3D-печати. Пользователь должен зарегистрироваться, подтвердить email, загрузить фотографии и 3D-модели, получить расчёт, общаться с продавцом и отслеживать статус заказа.
Архитектура
Проект получил Node.js backend, PostgreSQL и приватное файловое хранилище. Интерфейс работает как единое приложение с личным кабинетом клиента и административной частью.
- Render — запуск backend;
- Neon PostgreSQL — база данных;
- Cloudflare R2 — приватные файлы заказов;
- ClamAV — проверка загружаемых файлов;
- Resend — письма подтверждения и восстановления доступа.
Безопасность и работа с файлами
Файлы заказов нельзя было просто положить в публичную папку. Для них используется приватное хранилище, серверная проверка типа файла и антивирусное сканирование. Для административного доступа добавлена MFA.
Финальный этап
После функциональных тестов проект получил адаптацию под телефоны, четыре ключевых инфраструктурных проверки, домен с HTTPS, email-доставку и SEO-настройки. Отдельно были протестированы регистрация, заказ с файлами, личный кабинет и административный сценарий.
Что этот кейс показывает
RYVIA 3D стал для KAMERTON примером проекта, где фронтенд — только одна часть работы. Настоящий веб-сервис требует базы данных, хранения файлов, безопасности, интеграций, деплоя и тестирования.
Нужен похожий веб-сервис?
Обсудим задачу, необходимую функциональность и подход к реализации.
Подробнее о веб-сервисах →