FSTU Portal
Офіційний плагін Федерації спортивного туризму України (ФСТУ). Повноцінна Enterprise-система (ERP/CRM) на базі WordPress для управління структурою федерації, ведення реєстрів (спортсменів, суддів, вітрильних суден), обробки заявок та фінансового обліку.
by Oleksandr Dykyi · github.com/aleksandrdikiy/wordpress-plugin-fstu · website
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
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().
Розроблено для розвитку та цифровізації спортивного туризму України. 🇺🇦