{"id":14277,"url":"\/distributions\/14277\/click?bit=1&hash=17ce698c744183890278e5e72fb5473eaa8dd0a28fac1d357bd91d8537b18c22","title":"\u041e\u0446\u0438\u0444\u0440\u043e\u0432\u0430\u0442\u044c \u043b\u0438\u0442\u0440\u044b \u0431\u0435\u043d\u0437\u0438\u043d\u0430 \u0438\u043b\u0438 \u0437\u043e\u043b\u043e\u0442\u044b\u0435 \u0443\u043a\u0440\u0430\u0448\u0435\u043d\u0438\u044f","buttonText":"\u041a\u0430\u043a?","imageUuid":"771ad34a-9f50-5b0b-bc84-204d36a20025"}

Делаем MVP для SaaS-сервиса без знания кода на платформе Appmaster.io. Часть 1. С чего начать

Пару слов о себе: я физик по образованию, опытный пользователь ПК, умею делать сайты на Wordpress/Elementor. Не являюсь профессиональным программистом, на этом о себе всё.

В этой серии постов, я буду рассказывать как я начинаю становиться разработчиком в одном лице. Фактически я сейчас совмещаю функции заказчика, разработчика ТЗ, разработчика бэкенда, фронтенда, мобильных приложений, API документации, дизайна.

Сначала несколько слов о том как у нас в команде возникла идея делать MVP на Ноу-код платформе Appmaster.IO

В стартапе IntellectMark.com был технический партнер, достаточно квалифицированая компания, но в своей узкопрофильной специализации, касающейся создания различного софта для “железа”. Они взялись за техническую часть, но как оказалось, им требовалось детальным образом расписать что нужно делать (программировать). У них не было продакт менеджера и за каждую часть проекта отвечали разные люди, в итоге нам очень сложно было найти общий язык между бизнесменами и програмистами. В результате мы разошлись с этими партнерами, так и не создав MVP.

В связи с тем что у нас не было достаточных средств, чтобы нанять профессиональную команду разработчиков, начали искать альтернативные варианты. Как я уже писал у меня был опыт разработки нескольких сайтов и рабочий проект - WorldBalletclass.com это Маркетплейс видеоуроков балета, проект был разработан мной с нуля на Wordpress + Elementor и работает уже 4 года. Однако для нашего нового стартапа данный стэк технологий не позволял реализовать весь необходимый функционал.

Изучив многие возможные варианты Ноу-код платформ я увидел, что Appmaster.io позволяет в без-шовной интеграции создать Backend Web приложение для админ панели, и iOS/Android мобильные приложения, а также привязать внешние сервисы по API. Еще у Appmaster.io есть такая встроенная опция, как автоматическое создание документации Svagger. Что показалось достаточно удобным. Кстати в традиционных командах разработки за это отвечает отдельный специалист, который называется технический писатель.

AppMaster.io - это платформа нового поколения no-code, позволяющая создавать сложные серверные, веб- и мобильные приложения без единой строчки кода.

Вот так пишет о технологии без кода сам Appmaster.io

Разработка без кодирования

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

No-Code использует технологию перетаскивания; это функция, которая позволяет выбирать желаемый внешний вид или модули щелчком мыши, в то время как результаты отображаются на экране. No-Code абстрагирует части, из которых создаются более сложные программы, что упрощает обучение разработке для всех, даже если они никогда раньше этого не делали.

Итак, начинаем создавать проект. Процесс регистрации на платформе достаточно прост, поэтому пропустим описание.

Для начала установим необходимые модули. Я установил модули Авторизации, Мобильные приложения, Сканер Barcode, Архивы файлов и Universal Map.

Скриншот диалогового окна Модули

На следующем шаге мы создаем реляционную базу данных.

AppMaster.io использует классические реляционные базы данных, полностью совместимые с PostgreSQL

PostgreSQL простыми словами это программное обеспечение для структурированного хранения данных и получения доступа к этим данным при помощи SQL-запросов. Также подобный класс программ называют СУРБД (система управления реляционными базами данных). Преимущества PostgreSQL — наличие бесплатной версии, функциональность и высокая скорость работы (для реляционных баз).

Данная СУБД может быть установлена на большинство популярных операционных систем — Linux, Windows, BSD, MacOS, Solaris. Доступны различные способы установки, например, из репозитория, в виде Docker-контейнера, установщик (для Windows) или сборка из исходников.

Но вам не понадобится самостоятельно устанавливать и разворачивать вашу базу данных.

В Appmaster.io Процесс создания базы данных достаточно прост. Во первых по умолчанию автоматически создаются модели User, User Session, Mobile Instance в которые вы легко можете добавить ваши кастомизированные поля. Затем на листе Дизайнера моделей данных щелчком мыши создаем модели данных, и добавляем в них необходимые пользовательские поля.

Скриншот дизайнера модели данных проекта

Как создавать модели данных

Для работы с моделями данных в AppMaster Studio используется Дизайн данных. В нем вы будете проектировать свою базу данных так же, как и обычные программисты, только с использованием инструментов визуального программирования.

Создавая модели данных и устанавливая связи между ними, вы проектируете базу данных своего приложения. После этого, используя другие инструменты AppMaster Studio, вы добавляете в свое приложение функции, позволяющие наполнять эти базы данных информацией.

Новые модели данных легко можно создать кликнув правую кнопку мыши.

Диалоговое окно создания новой модели данных

Затем создаем уникальное имя модели, и записываем описание модели данных.

Типы данных

AppMaster.io поддерживает различные типы полей, каждое поле может содержать массив (коллекцию) значений. Лучший способ получить максимум возможностей платформы - выбрать соответствующие типы полей. Платформы AI обрабатывают каждый тип по-разному, и многие функции авто генерации зависят от типа поля. Старайтесь использовать наиболее точные типы полей для ваших данных.

Скриншот диалогового окна добавления поля данных в модель

Подробное описание всех типов данных есть в технической документации платформы.

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

Клиент имеет много пользователей

Клиент имеет много продуктов

Клиент имеет много брендов

Пользователь может иметь отношение ко многим акциям

Продукт имеет много партий (Batches)

Продукт относится только к одному бренду

В партии продукта есть только одно наименование продукта

Акция относится только к одному продукту

В акции может быть много разных призов

И вот так продумайте все связи между сущностями и объектами вашего проекта.

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

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

Диалоговое окно создания связей между моделями данных.

Источник - исходная модель, из которой исходит ссылка, и ее поле, через которое она связана с целевой моделью;

Target - целевая модель, на которую идет ссылка, и ее поле, через которое она связана с исходной моделью;

Типсвязи - тип связи между моделями (см. список типов связей). Чтобы удалить связь между моделями, щелкните на ней правой кнопкой мыши и нажмите Delete.

Итак, мы создали Базу Данных, и на следующем шаге приступим к созданию бизнес логики. Для этого есть Редактор бизнес-процессов.

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

Вот так выглядит лист бизнеспроцессов проекта:

Диалоговое окно дизайн студии бизнес-процессы

Всего на данный момент в проекте 25 кастомных бизнес процессов.

Редактор бизнес-процессов состоит из левой панели, холста в центре и правой панели с настройками выбранного объекта. Для создания блока бизнес-процесса перетащите элемент из левой панели на холст.

Пример схемы бизнес-процесса

Каждый блок на холсте имеет два типа соединений и два типа коннекторов. Соединители могут быть входящими (inbound) или исходящими (outbound). Все входящие коннекторы расположены в левой части блока, все исходящие коннекторы расположены в правой части блока. Соединения потока представляют собой непрерывный поток действий: порядок выполнения блоков. Соединители потока обычно располагаются в верхней части тела блока. Переменные соединения представляют передачу данных между блоками: где получить или передать данные в рамках бизнес-процесса. Каждый соединитель переменных имеет свой собственный тип данных или может поддерживать несколько типов, редактор автоматически контролирует соответствие типов.

Пример бизнес-процесса

Блоки Start и End создаются автоматически и не могут быть удалены. И начальный, и конечный блоки могут иметь переменные - входные для начального блока и выходные для конечного блока. При необходимости эти переменные должны быть созданы вручную через правую панель. Переменные начального и конечного блоков используются для получения и передачи данных через конечные точки.

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

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

Рассмотрим простой бизнес процесс на примере изменения прав пользователя. Задача бизнес процесса сделать из обычного пользователя менеджера.

В стартовом блоке на вход подается модель пользователя и логин.

Следующий блок разворачивает все данные пользователя.

Блок Авторизации добавляет этого пользователя в группу менеджеров.

Затем получаем ID пользователя и обновляем базу данных блоком DB: Patch User.

Бизнес-процесс изменения роли пользователя

Блок Patch Обновляет заданные поля объекта модели в базе данных.

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

На этом пока завершаю этот пост. Продолжение будет в следующих постах…..

Ознакомиться с платформой Appmaster.io вы можете по ссылке. по возможности буду отвечать на ваши вопросы.

0
2 комментария
M.I.A.

А что с оплатой этой радости? рубли принимают? как оплатить из России?

Ответить
Развернуть ветку
Andrey Andreev
Автор

Есть варианты через покупку ваучеров. Кстати сервер в РФ тоже есть.

Ответить
Развернуть ветку
-1 комментариев
Раскрывать всегда