Развернутый проект: https://fsp-link-portal.ru
Аккаунты:
- login: admin
password: admin108
- login: tatarstan
password: tatarstan108
-
Видео-демонстрация: Яндекс Диск / YouTube
-
Презентация: presentation.pdf
-
Репозиторий: https://github.com/hackathonsrus/pp_final_50040_pfo_ta_onezeroeight_69
-
Устаревшая видео-презентация (полу-финал): Яндекс Диск
ФСП Линк - это современная цифровая платформа, разработанная для управления спортивными соревнованиями и обеспечения информационной поддержки федераций. Наша цель - объединить все региональные федерации и общероссийскую федерацию в едином информационном пространстве.
Личный кабинет представителя региональной федерации:
- Эффективная панель управления для просмотра важной информации о федерации
- Создание и редактирование соревнований, в том числе загрузка результатов соревнований
- Отправка заявок на включение мероприятий в общий календарь
- Редактирование информации о федерации
- Отправка запросов администратору
- Реестр участников федерации
- Аналитика по участникам и мероприятиям
Личный кабинет общероссийской федерации:
- Удобная административная панель для управления всеми соревнованиями и федерациями
- Просмотр и редактирование информации о региональных федерациях
- Подтверждение или отклонение заявок на добавление региональных федераций
- Просмотр и редактирование информации о соревнованиях
- Подтверждение или отклонение заявок на включение мероприятий в общий календарь
- Просмотр запросов от региональных федераций
- Аналитика по региональным федерациям и соревнованиям
- Реестр всех участников
Публичные страницы для всех пользователей:
- Просмотр календаря соревнований
- Просмотр дисциплин спортивного программирования
- Просмотр информации обо всех региональных федерациях
- Просмотр рейтинга участников соревнований
- Используется база данных MongoDB для легкого горизонтального масштабирования.
- Для хранения пользовательских файлов запускается MinIO, который позволит легко расширить хранилище при необходимости.
- Сервер FastAPI запускается через менеджер процессов Gunicorn, который способен запускать несколько воркеров для обработки запросов, что позволяет обрабатывать большое количество запросов.
- Модульная архитектура приложения позволяет легко добавлять новый функционал и улучшать существующий.
- Фронтенд выполнен на React с декомпозицией на компоненты для удобства разработки и поддержки.
- В качестве шлюза используется Nginx, который сможет обрабатывать большое количество запросов и распределять их между серверами при необходимости.
Протестировано на Ubuntu 22.04 с архитектурой amd64.
- Установить Docker и Docker Compose последней версии.
- Склонировать этот репозиторий.
git clone https://github.com/hackathonsrus/pp_final_50040_pfo_ta_onezeroeight_69.git
- Перейти в папку с проектом.
cd pp_final_50040_pfo_ta_onezeroeight_69
- Запустить базу данных.
docker compose up -d db
- Загрузить дамп базы данных.
docker compose exec db sh -c 'mongorestore "mongodb://$MONGO_INITDB_ROOT_USERNAME:$MONGO_INITDB_ROOT_PASSWORD@localhost:27017/db?authSource=admin" --drop /dump/db'
- Запустить проект:
docker compose up -d --build
- Зайти на http://localhost:8000 в браузере.
Note
(Необязательно)
Для работы ИИ-агента нужно запустить Ollama. Рекомендуется использование видеокарты V100 32 GB или мощнее.
- Установить Ollama
- Скачать модель:
ollama pull rscr/ruadapt_qwen2.5_32b:Q2_K_M
- Запустить Ollama:
ollama serve &
Note
(Необязательно)
Для активации отправки email-уведомлений необходимо отредактировать настройки backend/settings.docker.yaml
:
smtp:
host: smtp.yandex.ru
port: 587
username: [email protected]
password: password
Note
(Необязательно)
Для запуска бота необходимо получить токен бота в Telegram и добавить его в файл .env
в корне репозитория:
BOT_TOKEN=1234567890:ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHI
Затем запустить бота:
docker compose up bot --build
frontend
- фронтенд на React (см. подробное Readme)backend
- бэкенд на FastAPI (см. подробное Readme)parser
- скрипты парсинга и полученные данные для загрузки в базу данныхbot
- бот на Grammy (см. подробное Readme).github/workflows
- GitHub Actions для автоматического деплоя на сервер
Команда one-zero-eight:
- Сергей Полин - @sergepolin
- Артём Булгаков - @ArtemSBulgakov
- Владислав Дерябкин - @evermake
- Руслан Бельков - @dantetemplar
- Альберт Авхадеев - @TatarinAlba