Три вэ: векторные модели — визуализатор — веб-страница

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

Базы лежат, пыляться и нет никакой нормальной возможности просмотреть их содержимое в онлайне. Отсюда и родилась идея о создании (универсального) веб-приложения для просмотра векторного содержимого баз.

Назвал это проект «Три вэ».

Быстро сформулировал задачу и требования к ней.

Дано: несколько баз данных, содержащих векторные модели форм микроорганизмов, их частей и траекторий движения.

Необходимо: создать веб-приложения для онлайн просмотра векторных моделей.

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

Получилось очень куцо.

Потом прогнал текст через нейросеть с просьбой добавить деталей.

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

Ниже — ответ нейросети.


Чтобы сделать требования более четкими и полными, предлагаю структурировать их по следующим категориям:

1. Общие требования

  • Цель приложения: Разработать веб-приложение для онлайн-просмотра векторных моделей микроорганизмов, хранящихся в нескольких базах данных.
  • Целевая аудитория: Ученые, исследователи в области микробиологии, студенты (или уточнить).
  • Ключевые функции:
    • Подключение к различным базам данных с векторными моделями.
    • Просмотр моделей с минимальным набором функций (например, визуализация, масштабирование, вращение).
    • Возможность расширения функциональности (например, добавление аннотаций, фильтров, экспорта).

2. Функциональные требования

  • Подключение к базам данных:
    • Поддержка различных типов баз данных (например, SQL, NoSQL, файлы).
    • Унифицированный API или адаптер для подключения новых баз данных без изменения кода приложения.
    • Поддержка безопасного подключения (аутентификация, шифрование данных).
  • Просмотр моделей:
    • Визуализация векторных моделей в 2D/3D (указать форматы, например, STL, OBJ, или другие).
    • Интерактивные функции: вращение, масштабирование, панорамирование.
    • Отображение метаданных моделей (например, название микроорганизма, источник, описание).
  • Расширяемость:
    • Модульная архитектура, позволяющая добавлять новые функции (например, плагины для анализа моделей).
    • Поддержка новых форматов данных через конфигурационные файлы или API.
  • Дополнительные функции (если применимо):
    • Фильтрация/поиск моделей по параметрам (например, тип микроорганизма, дата создания).
    • Экспорт моделей или их визуализаций (например, в PNG, PDF).

3. Нефункциональные требования

  • Производительность:
    • Поддержка загрузки моделей объемом до [указать объем, например, 100 МБ] за разумное время (например, < 5 секунд).
    • Оптимизация для работы с большими наборами данных.
  • Совместимость:
    • Поддержка современных браузеров (например, Chrome, Firefox, Safari, Edge).
    • Адаптивный дизайн для работы на десктопах и мобильных устройствах (или уточнить).
  • Безопасность:
    • Защита данных при передаче (например, HTTPS).
    • Контроль доступа к базам данных (например, через OAuth или токены).
  • Масштабируемость:
    • Возможность обработки подключения новых баз данных без значительных изменений в архитектуре.
  • Доступность:
    • Поддержка стандартов доступности (например, WCAG 2.1).

4. Технические требования

  • Технологический стек (рекомендации, если не указан):
    • Фронтенд: JavaScript/TypeScript с использованием библиотек для 3D-визуализации (например, Three.js, Babylon.js).
    • Бэкенд: Node.js, Python (FastAPI/Flask) или другой фреймворк для работы с базами данных.
    • Базы данных: Поддержка SQL (PostgreSQL, MySQL) и/или NoSQL (MongoDB).

Форматы данных:

  • Указать поддерживаемые форматы векторных моделей (например, STL, OBJ, или специализированные биоинформатические форматы).
  • API:
    • REST или GraphQL для взаимодействия с базами данных.
    • Документация API (например, с использованием Swagger/OpenAPI).

5. Ограничения и предположения

  • Ограничения:
    • Сроки разработки (например, 3 месяца).
    • Бюджет (если есть).
    • Ограничения по поддерживаемым устройствам/браузерам.
  • Предположения:
    • Базы данных имеют стандартные API или доступ через SQL-запросы.
    • Пользователи имеют базовые навыки работы с веб-приложениями.

Есть над чем подумать.

Поделиться
Отправить
Запинить
Популярное