Личные кабинеты и закрытые разделы: у каждой роли свой набор прав и свои данные

Ролевую модель, права доступа и процессы мы описываем до начала разработки, отдельным платным этапом. На выходе у вас техническое задание и смета, с которыми можно идти к любому подрядчику.

Собираем портал на Laravel: административная панель, кабинеты, роли, интеграции с вашими системами. Исходный код и документация переходят к вам по акту.

Ролевая модель — отдельный платный этап
Роли, права и видимость данных описываются до разработки, а не выясняются в её середине
Техническое задание и смета остаются у вас
Документ рабочий независимо от того, продолжим мы или нет
Репозиторий, документация и доступы
Передаются с фиксацией состава в акте, включая контрольную сумму

Без звонков. Отвечаем письмом или в мессенджере, как вам удобнее.

Готовые CMS не подходят, потому что процесс у вас свой

Ниже — то, как заказчики порталов описывают своё положение сами: формулировки собраны из открытых заданий и обсуждений, пунктуация оригинала сохранена. Если узнаёте свой случай, дальше на этой странице разговор идёт именно о нём.

Коробка под свой процесс

«Часть функций не нужна, а нужного нет. Хочу управлять полностью, включая собственные модули.»

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

Роли и права

«Роли и права не ложатся на стандартную модель пользователей.»

Стандартная модель знает администратора и посетителя. У вас между ними ещё четыре роли, и у каждой своя видимость данных.

Наследие подрядчиков

«Легаси от нескольких подрядчиков с различными стилями написания кода и отсутствием единой концепции.»

Каждый следующий подрядчик начинает с того, что заново разбирается, что где лежит, и берёт за это деньги.

Обмен с внутренними системами

«Интеграция с внутренними системами превращается в отдельный проект.»

В смету заложили одну строку, а в работе оказались учётная система, внутренние таблицы и внешний сервис с собственным форматом.

Требование к процессу

«Полное отсутствие фаз чёрного ящика.»

Это уже не боль, а требование, которое заказчики этого типа пишут в задание сами. Оно означает: сборки каждую неделю и тестовый стенд, доступный вам, а не рассказ о готовности на словах.

Как устроен наш процесс

Роль решает, что человек видит и что может сделать. Всё остальное следует из этого

Ролевая модель описывается на первом этапе и попадает в техническое задание отдельным разделом. Дальше состав ролей и прав меняется настройкой, а не переписыванием кода.

Схема шире экрана, прокручивается вбок

Роль

Дилер, сотрудник дилера, менеджер, редактор, администратор. Роли задаёте вы, набор не зашит в код

Права

Каждой роли назначен набор разрешений: что видно, что можно менять, что можно только скачать

Данные

Видимость считается от роли и от привязки к организации. Сотрудник дилера видит документы своей компании и не видит соседнюю

Действия

Заявка, загрузка документа, согласование, выгрузка. У каждого действия есть исполнитель, статус и срок

Журнал

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

Схема показывает целевое устройство: одни и те же данные, разные роли, разная видимость. Состав ролей и прав определяется на первом этапе и попадает в техническое задание отдельным разделом.

Настройкой закрывается состав ролей и прав. Новая сущность в системе — заявка нового типа, свой справочник, свой документ — это работа со сроком и ценой, и мы называем её на аудите, а не после подписания.

Приземистый блок стоит внутри открытой обоймы из плит, с ровным зазором со всех сторон.

Часть системы уже написана, вы платите за вашу часть

Eternal CMS — наша платформа на Laravel. Ниже то, что в ней есть до начала вашего проекта, и то, что делается в вашем проекте со сроком и ценой в договоре.

Входит в состав платформы

Готово и работает. В смету как разработка не попадает.

Входит в состав

Административная панель с управлением разделами и правами

Каталог с параметрами и вариантами позиций

Контентные разделы и управление публикациями

Личные кабинеты и закрытые разделы

Заказы и учёт остатков

Делается в вашем проекте

Срок и цена каждого пункта фиксируются в договоре.

Делается под проект

Ролевая модель под ваш процесс

Экраны кабинетов и сценарии работы каждой роли

Обмен с вашими внутренними системами, включая учётные

И ещё под проект

То, что чаще всего спрашивают уже после старта.

Делается под проект

Подключение платёжного сервиса и служб доставки, если они вам нужны

Перенос содержимого и переадресация старых адресов

Доступность для слабовидящих, если этого требует ваш регламент

Торговый контур в составе платформы есть, и если продаж у вас нет, он просто не включается. Это не увеличивает срок и не влияет на цену.

Обмен с вашими системами оценивается на первом этапе, а не после подписания

Интеграция — самая частая причина, по которой смета расходится с фактом. Поэтому мы разбираем её до договора на разработку.

На этапе аудита мы запрашиваем описание вашей системы, форматы обмена и права доступа к тестовому контуру. По итогам в смете стоит не строка «интеграция», а перечень: какие сущности передаются, в какую сторону, с какой частотой и что происходит при сбое.

Если ваша система нам незнакома, мы говорим об этом на аудите и закладываем время на изучение, а не узнаём об этом в середине проекта.

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

Учётные системы 1С
Готового обмена в составе платформы нет. Обмен разрабатывается под вашу конфигурацию по формату CommerceML 2 или по её прикладному интерфейсу. Это самостоятельный блок работ с собственной строкой в смете, и объём его определяется на аудите
Ваши внутренние сервисы
Любая система с прикладным интерфейсом или обменом файлами. Если интерфейса нет, на аудите решаем, чем его заменить, и это отдельная строка сметы
Открытый интерфейс наружу
Если к вашему порталу должны обращаться смежные системы, интерфейс проектируется и документируется как часть работ
Платёжный сервис, если у вас платный доступ
В платформе подключён Райффайзенбанк. Любой другой банк или платёжный агрегатор подключается отдельной разработкой. Онлайн-чеки по 54-ФЗ на сегодня не закрыты платформой: если ваш доступ оплачивают физические лица, фискализация планируется отдельным этапом со своим сроком, и мы говорим об этом на аудите, а не после подписания
Службы доставки
Готовых подключений в составе нет, есть основа для них. Если доставка вам нужна, конкретная служба подключается как отдельная работа

Первый этап платный и заканчивается документом, который вы можете унести

Отдельный небольшой договор. Стоимость и срок аудита называем на разговоре: они зависят от числа ролей и от того, сколько ваших систем участвует в обмене.

Отдельный договор

Этап01

Аудит и смета

Разбираем процесс, роли и права, описываем ролевую модель, состав экранов и интеграции. На выходе техническое задание, кликабельный прототип и смета с постатейной разбивкой. Документ ваш независимо от того, продолжим мы или нет

Платёж

Этап02

Дизайн-система

Не макеты страниц по одной, а набор состояний и компонентов, из которого собираются экраны. Дальше новый раздел рисуется за часы

Платёж

Этап03

Разработка со сборками каждую неделю

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

Срок из сметы

Этап04

Тестирование и приёмка

Замечания ведутся списком со статусами. Приёмка идёт по техническому заданию из первого этапа, а не по устным договорённостям

Платёж

Этап05

Перенос и публикация

Перенос содержимого, переадресация старых адресов, окно переключения и план отката. Дата и время переключения согласуются заранее

Постоянно

Этап06

Поддержка и развитие

Отдельный договор с регламентом и публичным прайсом на час: 6 000 ₽. Начинается после окончания гарантийных обязательств и не заменяет их

Фаз, в которых вы не видите результат, в этом процессе нет. Тестовый стенд доступен вам с первой недели разработки, а оплата идёт по этапам: половина стоимости этапа вперёд, половина — после подписания акта.

Состав переданного записан в акте, включая контрольную сумму репозитория

Мы не удерживаем проект доступами: перечень доступов передаётся по акту вместе с кодом.

Репозиторий
Полная история разработки, а не архив с финальной версией. В акт вносится сборка репозитория и её контрольная сумма, поэтому позже можно доказать, что передано именно это
Документация
Схема данных, описание ролевой модели и прав, порядок развёртывания, описание интеграций и форматов обмена
Доступы
Домен, размещение, почта, служебные учётные записи, ключи внешних сервисов. Перечень доступов — приложение к акту
Права
Исключительные права на код вашего проекта отчуждаются вам в полном объёме, отдельным пунктом договора и отдельным актом. Ядро платформы передаётся без лицензионных платежей при отказе от нашей поддержки; авторское право на код Eternal CMS остаётся за студией, переиспользование в других проектах и распространение — по согласованию. Эти условия вы читаете в шаблоне договора до первой встречи

Про зависимость от подрядчика честно: она есть в любом проекте, и у нас сегодня выше, чем у коробочной CMS, потому что специалистов по Eternal CMS вне студии нет. Наш ответ — не отрицание, а измеримость: ядро построено на Laravel, устройство описано в документации, и новый разработчик входит по ней, а не вслепую.

Смета и срок стоят в договоре до начала работ

Проверить можно до разговора: шаблон договора, регламент поддержки и прайс на час доработки открыты на сайте.

Смета фиксируется до старта
Если объём вырос по нашей вине, разницу платим мы. Если по вашей — подписываем дополнительное соглашение до начала работ, а не после
Срок фиксируется в договоре
Срок каждого этапа записан в приложении к договору вместе с составом работ этого этапа
Оплата по этапам, без полной предоплаты
Половина стоимости этапа вперёд, половина — после подписания акта. Вы платите за принятый этап, а не за обещание
Гарантийная поддержка после запуска
Ошибки в переданном коде устраняем бесплатно. Срок гарантии записан в приложении к договору
Публичный прайс на час доработки
6 000 ₽ за час. Цена одинакова для всех задач, не зависит от срочности и от того, кто из нас взял задачу. Срок реакции записан в опубликованном регламенте поддержки

Демо-стенд открыт: заведите роль, выдайте права и посмотрите, что увидит пользователь

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

Открыть демо-стенд

Доступ сразу, контакты не спрашиваем

Eternal CMS построена на Laravel. Фреймворк распространённый, среда не закрытая: разработчика, который в нём разбирается, найти можно на общем рынке труда. Специалистов именно по нашей платформе вне нашей команды сегодня нет, и вход в неё идёт через документацию.

Техническая документация открыта. Её можно отдать своему разработчику до разговора с нами и получить независимое мнение.

Три одинаковые плиты столбом: нижние две прижаты друг к другу, верхняя поднята над ними на широкий зазор.
Демо-стенд
Рабочая административная панель с ролями и правами. Логин и пароль на странице, заявка не нужна
Техническая документация
Открыта целиком. Ваш разработчик прочитает её без нашего участия
Договор и прайс
Шаблон договора, регламент поддержки и прайс на час доработки открываются по ссылке, а не по заявке

Порядок цен: проект укладывается в 1,5 миллиона ₽

Точная сумма появляется после аудита и фиксируется в договоре до старта работ. До этого мы называем состав и порядок, а не «от 99 000 ₽».

до 1 500 000

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

6 000

Час доработки после запуска по опубликованному прайсу. Цена задачи известна до её начала, а не после

Получить состав системы и порядок цены

В ответ придёт состав работ и порядок цены по вашей задаче

Кабинет одной роли
Одна группа пользователей, вход, личные данные, документы и заявки, одна интеграция. Срок называется в смете и фиксируется в договоре
Портал с несколькими ролями
Три и более роли с разной видимостью, привязка пользователей к организациям, согласования, журнал действий, две-три интеграции
Портал с внешним интерфейсом и переносом
Всё перечисленное плюс открытый интерфейс для смежных систем, перенос содержимого со старого сайта и переадресация адресов

Аудит оформляется отдельным договором, его стоимость называем на разговоре. Маленькие проекты мы не берём: разбор ролевой модели и процессов в них стоит столько же, а времени занимает не меньше, — поэтому нижнюю границу мы называем сразу, до того как вы потратите время на переписку.

Что вы платите за три года и за что именно

Разработка — первая из трёх строк расходов, и обычно не главная. Дальше идут поддержка и развитие, и они не заканчиваются.

Таблица шире экрана, прокручивается вбок, первый столбец закреплён

Строки расходов на портал в первый год и во второй с третьим
Строка расходов Первый год Второй и третий год
Разработка Сумма из сметы, зафиксированной в договоре до старта Нет такой статьи
Лицензия платформы и ежегодные продления Нет такой статьи Нет такой статьи
Поддержка и развитие От 36 000 ₽ в месяц по опубликованному регламенту От 36 000 ₽ в месяц по опубликованному регламенту
Час доработки сверх пакета 6 000 ₽ по опубликованному прайсу 6 000 ₽ по опубликованному прайсу
Размещение На вашей стороне или на выбранной вами площадке: счёт приходит от провайдера, а не от нас На вашей стороне или на выбранной вами площадке: счёт приходит от провайдера, а не от нас

Сам фреймворк Laravel, на котором построена платформа, распространяется свободно, поэтому в вашем бюджете нет отдельной строки на лицензию стороннего вендора и на её ежегодное продление. Условия по нашему ядру записаны в договоре одной строкой, и вы видите их до старта.

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

Мы откажемся, если

Отказ от части обращений обходится нам дешевле, чем проект, который не должен был начинаться.

  • Ваша закупка требует систему управления из реестра отечественного программного обеспечения. Платформа в реестр пока не внесена. Если требование в задании жёсткое, мы не проходим формально и тратить ваше время на отклик не будем.
  • В задании названа конкретная CMS. Мы работаем на своей платформе, и спорить с уже принятым решением бессмысленно.
  • Задача типовая и закрывается коробочным решением. Сайт из нескольких разделов без ролей и интеграций дешевле и быстрее собрать на готовом продукте. Скажем об этом прямо и назовём, на каком.
  • Бюджет ниже нижней границы, которую мы называем на разговоре. Разбор ролевой модели в маленьком проекте стоит столько же, сколько в большом.
  • Вы забираете систему на самостоятельное обслуживание сразу после запуска. Первое время эксплуатацию ведём мы: резервное копирование и наблюдение за работой настраиваются на нашей стороне и передаются вам после того, как система отработала под нагрузкой. Если этот порядок вам не подходит, мы не сработаемся.
  • Со стороны заказчика нет человека, который отвечает за процесс. Ролевую модель нельзя описать без того, кто знает, как всё устроено внутри. Если такого человека нет, проект встанет на первом же этапе, и виноваты будут обе стороны.

Опыта порталов у нас пока нет, и заявлять его мы не будем. Первый платный этап существует ровно для того, чтобы вы проверили нас за небольшие деньги.

То, что обычно спрашивают до первого разговора

Мы не знаем вашу платформу. Что будет, если мы разойдёмся?

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

Ядро построено на Laravel, устройство описано в документации, поэтому разбираться в нём придётся не с нуля. Условия по ядру прописаны в шаблоне договора, который открыт для чтения до первой встречи. Мы говорим о зависимости честно: она есть в любом проекте, и мы предлагаем измерить её, а не объявить отсутствующей.

Почему первый этап платный?

Потому что на нём делается работа, результат которой можно унести. Вы получаете техническое задание, прототип и смету, а мы получаем возможность назвать точную цену вместо вилки. Если после этого вы уйдёте к другому подрядчику, документ останется рабочим.

У вас нет опыта порталов

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

Наша ролевая модель сложнее, чем в примерах

Возможно. Мы описываем её на аудите и, если объём выходит за пределы платформы, говорим об этом до подписания договора на разработку, а не в середине проекта.

Где будут лежать данные?

На вашем размещении или на выбранном вами. Мы не держим ваши данные у себя и не требуем размещать проект на нашей стороне.

Расскажите про роли и процесс, а мы ответим составом системы и порядком цены

Ответьте на четыре вопроса. Этого хватает, чтобы дать содержательный ответ письмом, без предварительного созвона.

Куда прислать ответ

Отвечаем письмом в рабочее время. Не звоним, пока вы сами не попросите

Число ролей и перечень ваших систем нужны, чтобы ответ был по вашей ситуации, а не по средней. Именно эти два ответа задают порядок цены.

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

Получить состав системы