Роли и разграничение доступа
Права строятся по ролям: что можно открыть, что изменить, какие записи видны. Это архитектурное решение, а не набор паролей в таблице. Я закладываю роли в фундамент системы, потому что дописывать их в конце всегда дороже.
Почему роли нельзя «добавить потом»
Если сначала сделать один общий вход и показывать всё всем, а роли прикрутить позже, придётся переписывать списки, карточки и навигацию. Запросы к базе тоже меняются. Это дороже, чем заложить роли в первую версию.
Администратор видит настройки и пользователей. Менеджер видит свои записи или записи отдела. Клиент видит только свои заказы. Это разные стартовые экраны с разной навигацией — не одна страница со спрятанными кнопками.
Что фиксирую в смете
Список ролей. Для каждой — что можно открыть, что изменить, какие записи видны. Отдельной строкой — нужен ли аудит-лог: кто выдал доступ, когда человек входил, что менял.
Чем больше исключений типа «этот менеджер видит ещё три чужие компании», тем сложнее и дольше сборка. Исключения лучше назвать до старта, а не обнаружить при тестировании.
Связь с кабинетом и CRM
Роли почти всегда идут вместе с кабинетом или CRM. Отдельной «надстройкой за вечер» они не собираются. Я проектирую их как часть архитектуры, а не как плагин. Оплата 50/50, объём — в смете.
Заявка
Коротко о задаче
Имя, телефон и пара слов о том, что нужно.