На главную

О проекте

Информация о технологиях, архитектуре и используемых сервисах

Описание

Официальный сайт Объединённого совета студентов Дальневосточного федерального университета (ОСС ДВФУ). Единая платформа для подачи обращений, публикации новостей, гайдов и документов, а также управления студенческими организациями.

Архитектура проекта

Frontend

  • Next.js 14 (App Router) — React-фреймворк для серверного рендеринга
  • React 18.3 — библиотека для построения пользовательского интерфейса
  • TypeScript 5.6 — типизированный JavaScript
  • Tailwind CSS 3.4 — utility-first CSS фреймворк
  • Supabase — клиент для работы с базой данных и аутентификацией
  • Recharts — библиотека для построения графиков
  • Keystatic — headless CMS для управления контентом

Backend (опционально)

  • FastAPI 0.109 — современный Python веб-фреймворк
  • SQLAlchemy 2.0 — ORM для работы с базой данных
  • Uvicorn — ASGI сервер
  • Pydantic 2.5 — валидация данных

База данных

  • Supabase (PostgreSQL) — основная база данных
  • Row Level Security (RLS) для контроля доступа
  • Автоматические бэкапы
  • Реалтайм подписки

Используемые сервисы

  • Vercel — хостинг frontend приложения
  • Supabase — Backend-as-a-Service (БД, хранилище, аутентификация)
  • Upstash Redis — управляемый Redis для кэширования
  • GitHub Actions — CI/CD и автоматизация
  • GitHub Security — сканирование кода на уязвимости
  • Telegram Bot API — интеграция с Telegram каналом

Безопасность

  • Supabase Auth — встроенная аутентификация с поддержкой 2FA
  • Row Level Security (RLS) — контроль доступа на уровне строк
  • Rate Limiting — защита от DDoS и злоупотреблений
  • CodeQL — статический анализ кода
  • Secret Scanning — поиск секретов в коде
  • Dependency Review — проверка уязвимостей в зависимостях

Возможности

Для студентов

  • Подача обращений
  • Отслеживание статуса
  • Просмотр новостей и гайдов
  • Поиск документов
  • Просмотр статистики

Для членов ОСС

  • Админ-панель
  • Управление обращениями
  • Управление контентом
  • Дашборды со статистикой
  • Экспорт данных

Документация

Подробная документация доступна в репозитории проекта:

docs/ru/PROJECT.md