Вики или СМС для хранения карточек (ККК/Спорт/… и т.д.)

Вопрос или проблема

Друг хочет создать онлайн-базу данных, которая будет содержать каждую карту, существующую в мире. Это включает в себя всё, от карт магии «Magic the Gathering», спортивных карт до обычных (52) карт, карт Риска и т.д. Я хочу помочь, и хотя мне кажется невозможным иметь каждую карту, мы могли бы собрать много.

Теперь я задумываюсь, какой будет лучший способ хранения карт. Существует ли что-то вроде Wiki, но с более структурированными данными? С одной стороны, Wiki кажется подходящей, так как нам не нужно беспокоиться о разных моделях данных для различных игр (мы просто вводим карты в виде свободного текста), но с другой стороны, что-то вроде MongoDB кажется более подходящим, так как лучше иметь структурированные данные, и будет возможно для посетителей фильтровать карты по свойствам игры. Я думаю, что уже слишком много разных игр, чтобы вручную программировать представление (как в mVc) для каждой игры. Существует ли что-то среднее между MongoDB и Wiki?

Ещё одна идея заключалась бы в создании “CMS” с no-sql базой данных, где все карты находятся в одной таблице, где вы можете вручную, без программирования, создавать представления (т.е. макет интерфейса) на основе определённых свойств каждого элемента. Например, вы могли бы создать “Представление существ Mtg”. И когда таблица карт содержит что-то вроде

{ "card-type": "ccg",
  "game": "Magic the Gathering",
  "expansion": "Ледяная эпоха",
  "type": "Существо",
  "Power": "7",
  "Toughness": "6" }

то это представление будет применено, потому что “игра” и “тип” совпадают. Существует ли что-то подобное или возможно модифицировать существующую структуру для этого?

Я бы порекомендовал вам установить Wikibase на ваш сервер:

https://www.mediawiki.org/wiki/Wikibase

Это очень структурировано, так что вы можете настроить свойства (название, уровень, происхождение, изображение и т.д.), которые может иметь каждая карта.

В духе вики, это легко редактировать любому, кому вы предоставите разрешение.

В отличие от Википедии и т.д. нет вики-кода, вы не можете сделать синтаксическую ошибку.

Тестовый элемент на wikidata.org, экземпляр Wikibase: https://www.wikidata.org/wiki/Q4115189

Скриншот экземпляра Wikibase, размещенного на wikidata.org:

вставить описание изображения здесь

Ответ или решение

Когда речь идет о создании онлайн-базы данных для хранения карт (наборов карт, спортивных карточек и т.д.), важно выбрать правильное решение, которое обеспечит баланс между структурированностью данных и доступностью для пользователей. Существуют различные подходы к организации такой базы, и я рассмотрю несколько из них, чтобы помочь вашему другу определиться с наилучшим вариантом.

Вики или CMS: что выбрать?

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

    Преимущества:

    • Простой интерфейс для редактирования.
    • Возможность неограниченного ввода данных.
    • Сообщество может вносить вклад, что может привести к более полной базе данных.

    Недостатки:

    • Отсутствие структурированных данных затрудняет фильтрацию и поиск.
    • Возможны ошибки в вводе данных из-за отсутствия строгих схем.
  2. CMS (Система управления контентом):
    CMS, как WordPress или Joomla, позволят создать более управляемую и структурированную базу данных. Используя плагины, можно создать свои типы записей для карточек, добавить различные поля для ввода.

    Преимущества:

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

    Недостатки:

    • Меньшая гибкость в расширяемости.
    • Зависимость от выбранных плагинов, которые могут не поддерживаться в будущем.
  3. Современные NoSQL базы данных:
    Использование NoSQL баз данных, таких как MongoDB, позволяет хранить данные в более структурированном виде. Это особенно полезно для фильтрации и создания различных представлений на основе характеристик карт.

    Преимущества:

    • Гибкость в структуре данных и возможность масштабирования.
    • Легкость в фильтрации и поиске по свойствам (атрибутам) карт.

    Недостатки:

    • Требует разработки пользовательского интерфейса для отображения данных.
    • Необходимость программирования для настройки представлений и фильтров.

Предложение: Wikibase

С учетом всех вышеперечисленных аспектов, я рекомендую вам рассмотреть внедрение Wikibase. Эта платформа сочетает в себе лучшие характеристики вики и структурированных данных.

Преимущества использования Wikibase:

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

Заключение

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

Оцените материал
Добавить комментарий

Капча загружается...