Вернуться к плану развития
Этап 1 завершён

Инфраструктура и база данных

Мы завершили первый этап разработки платформы «Талант-центр». Ниже — обзор того, что уже создано: архитектура базы данных, система авторизации, роли, политики доступа и многое другое.

10
таблиц в базе
7
моделей данных
3
роли пользователей
4
политики доступа

Что было сделано

Каждый блок ниже — это часть технического фундамента, на котором строится вся платформа.

База данных

Спроектировано и развёрнуто 10 таблиц: пользователи, организации, конкурсы, заявки, дипломы, категории и журнал действий. Все связи между таблицами настроены с каскадным удалением и индексацией.

Система входа

Полноценная авторизация: регистрация, вход, подтверждение email, сброс пароля. Пользователи могут указать фамилию, имя и отчество при регистрации.

Роли пользователей

Три роли: администратор, модератор и участник. Каждая роль видит свою панель управления и имеет свой набор прав. Middleware проверяет роль на каждом запросе.

Организации

Структура для организаций с гибкой системой прав представителей. Каждому представителю можно выдать отдельные разрешения: создание конкурсов, управление и оценка заявок.

Защита и политики

Четыре политики авторизации для ключевых моделей. Три middleware для проверки ролей и прав. Организация должна пройти верификацию перед созданием конкурсов.

Инфраструктура

Сервис логирования действий, сидеры тестовых данных, пять PHP-перечислений для статусов. Панели управления для каждой роли с базовой статистикой.

Архитектура базы данных

10 таблиц спроектированы с учётом всех этапов проекта — от регистрации до выдачи дипломов.

Таблица Назначение
users Все пользователи платформы с ролями и связью родитель-ребёнок
organizations Организации-организаторы конкурсов со статусом верификации
organization_user Связь пользователей с организациями и гранулярные права
contests Конкурсы с датами, статусами и фоном для дипломов
contest_categories Категории и номинации внутри каждого конкурса
applications Заявки участников с файлами, статусами и оценками
diplomas Сгенерированные дипломы в формате PDF
action_logs Журнал действий с IP-адресами и метаданными
sessions Активные сессии пользователей
password_reset_tokens Токены для безопасного сброса паролей

Роли и права доступа

Каждая роль видит свою панель управления и имеет чётко определённые возможности.

Администратор

  • Полный доступ ко всем разделам
  • Управление пользователями
  • Верификация организаций
  • Просмотр журнала действий

Модератор

  • Модерация пользователей
  • Проверка организаций
  • Просмотр заявок
  • Без доступа к удалению

Участник

  • Подача заявок на конкурсы
  • Управление детьми-участниками
  • Представительство в организациях
  • Скачивание дипломов

Чек-лист выполнения

Полный список задач первого этапа с отметками о выполнении.

  • Laravel 12 проект инициализирован с MySQL
  • 10 миграций базы данных
  • 7 Eloquent-моделей с полными отношениями и кастами
  • 5 PHP-перечислений (UserRole, OrganizationStatus, ContestStatus, ApplicationStatus, FileType)
  • 3 кастомных middleware (CheckRole, CheckOrgPermission, EnsureOrgVerified)
  • 4 политики авторизации (User, Organization, Contest, Application)
  • Авторизация через Breeze: регистрация с ФИО, вход, подтверждение email, сброс пароля
  • Редактирование профиля (имя, фамилия, отчество, телефон, email)
  • 3 панели управления (админ, поддержка, участник)
  • Навигация с учётом ролей и цветными бейджами
  • Компонент flash-сообщений
  • ActionLogService — сервис логирования действий
  • Сидеры тестовых данных (AdminSeeder + TestDataSeeder)
  • Связь хранилища (storage:link)