FSTU Portal
Офіційний плагін Федерації спортивного туризму України (ФСТУ). Повноцінна Enterprise-система (ERP/CRM) на базі WordPress для управління структурою федерації, ведення реєстрів (спортсменів, суддів, вітрильних суден), обробки заявок та фінансового обліку.
Install
This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.
Install straight from GitHub with WP-CLI:
wp plugin install https://github.com/aleksandrdikiy/wordpress-plugin-fstu/archive/refs/heads/main.zip⛺ FSTU Portal – WordPress Plugin
Офіційний плагін Федерації спортивного туризму України (ФСТУ). Повноцінна Enterprise-система (ERP/CRM) на базі WordPress для управління структурою федерації, ведення реєстрів (спортсменів, суддів, вітрильних суден), обробки заявок та фінансового обліку.
🌐 Офіційний сайт: www.fstu.com.ua
📑 Зміст
- Функціональні можливості (Модулі)
- Інтеграція з API (Python)
- Архітектура та Стандарти Коду
- Вимоги до середовища
- Встановлення, Деплой та Оновлення
- Структура бази даних
🚀 Функціональні можливості (Модулі)
Плагін містить понад 70 модулів та форм, які розділені на три великі логічні блоки:
1. Реєстри ФСТУ
Ключовий модуль для автоматизації обліку членів та активів федерації.
- 👤 Реєстр членів ФСТУ (з детальною інформацією: досвід, розряди, членські квитки)
- ⚖️ Реєстр суддів ФСТУ
- 🏢 Склад керівних органів ФСТУ
- ⛵ Вітрильні реєстри: Реєстр капітанів, Реєстр стернових, Реєстр суден
- 🏅 Реєстри відзнак
- 🎓 Семінари ФСТУ
2. Структура ФСТУ
Управління ієрархією та органами самоврядування:
- Осередки федерації спортивного туризму
- Виконком та Президія
- Комісії з видів туризму
- Колегія суддів змагань з ВСТ
- Реєстр членів МКК (Маршрутно-кваліфікаційних комісій)
- Рада ветеранів та Ревізійна комісія
- З’їзд ФСТУ
3. Довідники (System Dictionaries)
Блок системних налаштувань для гнучкого управління даними (понад 20 довідників), серед яких:
- Види змагань, походів, складності та видів туризму
- Клуби, осередки, комісії та керівні органи
- Географія (Країни, області, населені пункти)
- Спортивні розряди та суддівські категорії
- Статуси карток/квитків, типи вітрильних залікових груп
- Реєстратори, Статистика та Користувачі онлайн
🤖 Інтеграція з API (Python)
Для розширення можливостей платформи, плагін тісно взаємодіє із зовнішнім Python API (мікросервісна архітектура) для виконання фонових та асинхронних завдань:
- 📱 Telegram-сповіщення: * Миттєве інформування про надходження нових заявок на членство в ФСТУ.
- Сповіщення про заявки на судновий квиток.
- Сповіщення про заявки на стерновий квиток.
- 🗳️ Системи голосування:
- Забезпечення механізмів онлайн-голосування вітрильної спільноти.
- Безпечне та закрите голосування Президії ФСТУ.
🏗 Архітектура та Стандарти Коду
Плагін переписано з урахуванням MVC-подібного підходу та суворих правил безпеки рівня WordPress VIP:
- Модульність: Кожен логічний блок має власні Controllers (
includes/), Views (views/) та Assets (js/,css/). - Безпека (Security First):
- Перевірка Nonce (
check_ajax_referer) для всіх AJAX-запитів. - Обов'язкова перевірка прав (
current_user_can) перед виконанням дій. - Пізнє екранування (
esc_html,esc_attr) перед виводом даних у шаблон.
- Перевірка Nonce (
- База даних: Абсолютно всі запити до БД виконуються ТІЛЬКИ через Prepared Statements (
$wpdb->prepare()). Використовується$wpdb->esc_like()для безпечного пошуку. - JS/CSS: Жодних inline-скриптів. Використовується делегування подій у jQuery та локалізація скриптів (
wp_localize_script) для передачі бекенд-змінних.
💻 Вимоги до середовища
- PHP: Версія 8.1 або новіша (використовуються суворі типи та нові можливості синтаксису).
- WordPress: Версія 6.0 або новіша.
- База даних: MySQL 8.0+ або MariaDB 10.4+ (підтримка складної кастомної схеми БД ФСТУ, 155=таблиць, 130=view, 60=функцій, 31=процедура).
- Додатково: * Python 3.9+ (для мікросервісів API).
- Налаштований WP-Cron для бекграунд-тасок.
📦 Встановлення, Деплой та Оновлення
Плагін використовує бібліотеку Plugin Update Checker. Це означає, що вам не потрібно оновлювати його вручну через FTP чи завантаження ZIP-архівів.
Початкове встановлення:
- Завантажте актуальний реліз з GitHub.
- Розпакуйте у директорію
wp-content/plugins/fstu. - Активуйте плагін "FSTU" через адмін-панель WordPress.
Процес оновлення (Деплой):
- Всі зміни розробляються та тестуються у гілці
main. - При випуску нової версії (створенні Release / Tag на GitHub), плагін автоматично надсилає сигнал системі WordPress.
- Адміністратор сайту бачить стандартне повідомлення про оновлення в адмінці (
Консоль -> Оновлення) та оновлює плагін в один клік, як і будь-який інший плагін з репозиторію WP.
🗄 Структура бази даних
Плагін використовує розширену (custom) структуру бази даних, яка працює паралельно зі стандартними таблицями WordPress. Таблиці зберігають історичні дані федерації (S_Region, S_TourismType, UserClub, ApplicationShipTicket, Dues, DuesSail тощо).
Усі міграції та зміни схеми керуються через вбудований у плагін механізм dbDelta().
Розроблено для розвитку та цифровізації спортивного туризму України. 🇺🇦