Перейти к основному содержимому

Карта рисков и неочевидных мест

Эта страница фиксирует места, где поведение проекта может удивить разработчика или администратора.

Риски высокого внимания

РискГдеЧто делать
Глобальный auto-loginLoginByGkUHashПроверять безопасность gk_uhash flow
DB redirects меняют URL flowRedirect, LandingRedirectПри странном URL проверять БД и cache
Routes создаются из БДProxyPageServiceProvider, landing_proxy_pagesНе искать все routes только в routes/web.php
Дефолтные API secretsconfig/systematika.phpВсегда задавать env secrets
Debug endpointsroutes/api.php, routes/web.phpУбрать/защитить перед production
База зависит от SQL dumpinitial_schema.mysqlНе считать migrations полным источником схемы
Model side effectsProductOffering, GroupDiscipline, TariffНе делать массовый SQL без понимания effects
Queue/cron обязательныroutes/console.php, app/Jobs/*Настроить worker и schedule
Config driftservices.loginus.*, services.morpher.*Проверить config/env перед deploy
Env typo riskDB_GKTOMK_* vs DB_GKTOML_*Исправить локальный env example/значения

Неочевидное поведение моделей

ProductOffering

При сохранении может менять:

  • academic_year_id;
  • product_format_id;
  • page_status_id;
  • actual у других offering того же product;
  • длительность связанных lessons.

Tariff

Computed price зависит от:

  • default_hours;
  • per_hour_price;
  • discount_percent;
  • is_discount;
  • special.

При special = true тариф перестаёт быть обычной ценой.

GroupDiscipline

При изменении дат/teacher/room обновляет schedules. При изменении дат может пересчитать даты product offering.

Неочевидное поведение frontend

  • Browser URL может меняться Livewire event-ом без полной перезагрузки.
  • Page title может меняться Livewire event-ом.
  • Head может переписываться через $GLOBALS['page_custom_head'].
  • Часть DOM может приходить со старого сайта.
  • Filament использует project CSS themes, не полностью стандартный внешний вид.

Неочевидное поведение данных

  • catalog_filters управляет тем, какие фильтры вообще активны.
  • landing_proxy_pages управляет public routes.
  • landing_redirects может перехватить URL до controller.
  • subject_roadmap_configs и difficulty_level_roadmap_configs влияют на roadmap visibility/defaults.
  • settings содержит Spatie settings, например sale state.

Production checklist

  1. APP_DEBUG=false.
  2. Secrets заданы не дефолтами.
  3. Debug endpoints проверены.
  4. Queue worker запущен.
  5. Scheduler запущен.
  6. failed_jobs мониторится.
  7. landing_redirect_map cache можно сбросить при проблемах URL.
  8. Filament permissions проверены.
  9. WP source URL доступен с сервера.
  10. SQL dump и migrations применены в правильном порядке.