IF-ELSE AGGREGATOR — это платформа для поиска, организации и участия в образовательных и научных мероприятиях.
- Управление мероприятиями: Создание, редактирование и поиск событий по категориям, тегам и местоположению
- Ролевая модель:
- Участники: поиск событий и обмен приглашениями
- Организаторы: управление мероприятиями и статистикой
- Модераторы: проверка контента
- Администраторы: управление платформой
- Рекомендательная система: Гибридная система на основе тегов, лайков и просмотров
- Безопасность: Многоуровневая защита, включая VK ID интеграцию, двухфакторную аутентификацию и автоматическую блокировку при подозрительной активности
- Карта мероприятий: Интерактивная карта с адаптивными метками для разных типов событий
- Система отзывов и рейтингов: Оценка мероприятий участниками
- FastAPI - веб-фреймворк для создания API
- SQLAlchemy - ORM для работы с базой данных
- Pydantic - валидация данных и управление настройками
- PostgreSQL - реляционная СУБД
- Nuxt.js - фреймворк на основе Vue.js для создания интерфейса
Вот пример сворачивающегося блока с конфигурацией проекта, оформленного в формате Markdown:
- Яндекс.Карты используются для перевода адреса в координаты и обратно.
- GigaChat не обязателен — используется только для генерации моковых данных.
- Стартовые теги находятся в файле
startup-tags.txt
и автоматически создаются при первом запуске сервиса.
Основные параметры
POSTGRES_HOST=database
POSTGRES_USER=postgres
POSTGRES_PASSWORD=postgres
POSTGRES_DB=if_else_db
BACKEND_CORS_ORIGINS=http://localhost:8000,http://localhost:3000
FIRST_SUPERUSER_EMAIL=admin@example.com
MAPS_API_KEY=ваш_ключ_Яндекс_Карт
GIGACHAT_API_KEY=ваш_ключ_GigaChat (опционально)
VK_APP=ваш_VK_ID_приложения
EMAIL_USERNAME=ваш_email@yandex.ru
EMAIL_PASSWORD=ваш_пароль
EMAIL_FROM=ваш_email@yandex.ru
EMAIL_SERVER=smtp.yandex.ru
EMAIL_PORT=465
HOST=https://frontend.domain.com
API_HOST=https://api.domain.com
COOKIE_DOMAIN=.domain.com
Фронтенд (Nuxt.js)
Файл: web/.env
HOSTNAME=frontend.domain.com
NUXT_PUBLIC_API_BASE_URL=api.domain.com
NUXT_PUBLIC_VK_APP_ID=1234
.env.dist
также доступен для настройки начальной конфигурации фронтенда.
docker compose -f docker-compose-prod.yml up
docker compose up
docker-compose run api alembic revision --autogenerate -m "<название миграции>"
docker compose exec -it database bash
psql -h localhost -p 5432 -U postgres
\c if_else_db;
Проект представляет собой комплексное решение для организации образовательного пространства, объединяющее участников, организаторов и экспертов в единой экосистеме.