Я пытаюсь создать систему, в которой пользователи могут легко создавать различные типы турниров и участвовать в них с другими пользователями. Это не конкретная игра, а инструмент общего назначения для просмотра и обновления результатов турнира с любого устройства как можно быстрее, с минимальным взаимодействием, поэтому фактическое приложение не мешает на вечеринках и тому подобное.
Профили пользователей, турниры и результаты хранятся в базе данных, но изменения в турнирах должны мгновенно отражаться в представлении клиента, анимированные и без перезагрузки страницы (JavaScript), затем отправляться на сервер через ajax, проверяться и сохраняться в базе данных ( PHP, MySQL). Клиенты постоянно прослушивают сервер и обновляют представление для всех клиентов, когда были сделаны какие-либо обновления (что-либо от переименования участников до соответствия результатам и исключениям и т. д.).
Я нашел несколько моделей данных для турниров с одиночным или двойным выбыванием, но предполагается, что этот поддерживает широкий спектр типов турниров, таких как лига, рейтинг, одиночное/двойное выбывание и круговая система.
Итак, какую модель данных (базу) я должен использовать для такого проекта, который в основном представляет собой электронную таблицу Google Docs, но с предопределенным внешним видом и элементами управления для каждого типа турнира?
Должен ли я выбрать модель, подходящую для всех турниров, или создать отдельные таблицы для всех типов турниров? Любые ресурсы, которые могут быть полезны для такого проекта?