SaaS отличается от внутреннего сервиса тем, что им пользуются чужие компании. Их данные нельзя увидеть соседу, а счёт за подписку должен сходиться без ручной правки.
Где ломается первая версия
Чаще всего все клиенты пишутся в одни таблицы, а «чей это заказ» — поле, которое забывают проверить в половине запросов. Второй сбой — тарифы. Пока план один, всё просто. Второй план добавляет лимиты, и проверки расползаются по коду.
Что закладывать сразу
- кабинет компании и пользователи внутри него;
- каждая выборка фильтруется по кабинету, без исключений;
- подписка: статус, период, лимит;
- журнал действий, если данные общие для команды;
- отделение фона: письма, импорт, вебхуки оплаты.
Интерфейс можно сделать узким: регистрация, один рабочий сценарий, оплата, настройки команды. Остальное — после того, как первый клиент проходит путь без созвона с разработчиком.
Пример
Сервис учёта объектов для нескольких подрядчиков. У каждой компании свои объекты и сотрудники. Администратор платформы видит только оплату и статус кабинета, не содержимое объектов. Платёж приходит вебхуком и продлевает доступ, а не правится в базе руками.
Имеет смысл запускать один тариф и один сценарий. Второй тариф добавляйте, когда первый уже оплачивают.