Грязный ноукодер
1.29K subscribers
116 photos
12 videos
2 files
161 links
Пишу про AI, no-code и бизнес процессы.
@low_code - для связи
Видео гайды - https://www.youtube.com/@5_min_ai
Обучение - https://www.skool.com/5minai-pro
Download Telegram
Выступления с конференции: нейминг конвенции в Bubble

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

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

Основные идеи с выступления:

1️⃣ Bubble сам частично задает конвенцию - добавляет множественное число в названию таблиц БД, автоматически называет elements/workflows/styles

2️⃣ Принципы:

- Выбрать case - camelCase, lowercase, UPPERCASE, PascalCase, snake_case, kebab-case

- Быть последовательным - использовать одинаковые названия на всех уровнях (БД, фронт, бекенд)

- Использовать простые понятные названия, которые говорят сами за себя - Send Message, Header, Button Submit Form

- Не забывать обновлять нейминг для старых элементов и новых при копировании

3️⃣ Советы по категориям

Groups в интерфейсе

- могут указывать на характеристику группы - Column/Row, Wrapper/Container, Header/Footer

- метить тегом (VAR) для более просто поиска, если в них есть дата/переменные - Group Users Data VAR

Inputs - указывать тип данных/название поля для упрощения дальнейшего мэппинга в workflows - Input User Status

Styles - расположение в иерархии, толщина, размер шрифта, цвет - Body 14px 600 Red

Colors - плотность цвета/предназначение (primary, secondary) и место использования - Primary 200 - color for buttons

Custom Events - описание функции - Send message

Database - название таблиц в единственном числе (Order не Orders), короткое и понятное; быть последовательным в названии таблиц и полей

- Стандартные имена таблиц - Invitation, Message, Notificaiton, Order…

- Стандартные имена полей - Name, Description, Type, Status…

Option sets

- добавлять суффикс OS для разделения от данных из БД - [Option Set Name][OS] - User Status OS

- делать options URL-friendly используя kebab-case (signed-up) (в таком случае понадобится отдельно записывать в аттрибут версию для показа на фронте)

API connector - использовать понятные названия [Source] - [Action] = Slack - Send message

Для всех - использовать emojis для упрощения визуального распознавания тегов

Ставьте лайк и подписывайтесь, завтра разберем мощную лекцию по SQL
Please open Telegram to view this post
VIEW IN TELEGRAM
Всем привет!

Прямо сейчас проводим стрим с Сашей @failblog про ноукод и AI.

- Разберем разные ноукод солюшены, где что лучше применять
- Поразрабатывем в N8N AI тул
- Рассмотрим WeWeb

Ссылка: https://www.youtube.com/live/-l9PyZY9ZjM?si=xjOyL7IZxdUeEPXm
Выступления с конференции: Project Scoping & Agile Delivery

Продолжаем разбирать выступления с конференции и сегодня поговорим про составление proposal для клиента и работе с scope проекта.

Спикером является Bernadette Murphy - директор австралийского агентства Cedar Street

Что входит в proposal:

1️⃣ Описание ваших ценностей - можно персонализировать под компанию и выделить наиболее релевантные для них.
Важно транслировать свои ценности, потому что именно на общих ценностях выстраиваются отношения.

2️⃣ Описание вашего подхода - как происходит коммуникация с клиентом (частота, канал), как происходит разработка и проектное управление. Клиент должен понять, что ему ожидать от работы с вами.

3️⃣ Почему Bubble/Make/No-code - описание возможностей, сравнение стоимости с аналогами/кодом, безопасность. Не все клиенты знают достаточно о no-code, нужно отстраиваться от “конкурентов”.

4️⃣ Ваши кейсы - красивые мокапы, описание кейса - что хотел клиент, что было сделано и сколько времени это заняло.

5️⃣ Scope проекта -

Функциональные требования - user stories для разных ролей (не стоит забывать о роли администратора)

Нефункциональные требования - безопасность, дизайн, перфоманс

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

Детализация и оценка scope - описанные user stories разбивают на мелкие задачи и записывают в JIRA. Для каждой задачи оценивается размер (аналог story points) - в размерах майки (Micro (<1 hour), XS (<4 hours), S (<3 days), L (<1 week), XL (>1 week), unknown). Большие задачи (L, XL) следует разбивать на более мелкие.

6️⃣ Стоимость проекта - разбитие на майлстоуны по ролям с описанием длительности выполнения и стоимости. Пример - подговка требований и дизайна / 2 недели / 60 часов разработчик + 16 часов дизайнер = $X,XXX

7️⃣ Таймлайн разработки проекта - разбитие на спринты и недели выполнения. Каждый спринт имеет конкретный результат и может выполняться параллельно с другим спринтом.

8️⃣ Условия - детали по условиям оплаты, сдачи проекта, приватности данных.

9️⃣ Страница для подписания с инициалами

🔟 Инвойс - отдельный документ-счет с реквизитами для оплаты

Ставьте лайк и подписывайтесь, завтра опубликую вторую часть разбора этой лекции с дополнительными советами
👋 Всем привет!

Я болел последние пару недель, поэтому решил начать неделю с новостей.

1️⃣ Основная часть моего курса закончилась, я прочитал 8 лекций и теперь мы с ребятами фокусируемся на работе по выстраиванию стабильного источника лидов.

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

2️⃣ Отсюда вытекают темы, про которые я хотел бы писать в ближайшие недели - как проходит процесс настройки воронки и как мы создаем свой “продукт” для этих лидов.

В рамках создания продукта я собираюсь поженить Bubble и Supabase так, чтобы разработка CRM на этом стэке занимала минимальное количество времени.

3️⃣ И самое главное - я хотел бы узнать у вас, интересны ли эти темы, так как обоими направлениями мало кто занимается на рынке, и возможно лучше писать о чем то другом.

Так что буду рад, если вы напишите в комментариях, какие темы интересны для вашего карьерного продвижения.
Please open Telegram to view this post
VIEW IN TELEGRAM
Курс по SQL - Урок 1

В рамках продвижения идеи об использовании SQL в ноукод я решил сделать мини-курс и показать вам, что этот ЯП не сложен и может значительно улучшить ваши ноукод продукты.

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

Что нужно понимать о SQL:

1️⃣ SQL - декларативный язык, где вы оперируете рядом встроенных операторов/функций для управления данными в БД и описываете ожидаемый результат (а не способ его получить, как в императивной парадигме).

2️⃣ Существуют различные системы управления БД (MySQL, PostgreSQL…) и каждая из них имеет свои уникальные функции и расширения. Мы будем разбирать работу с PostgreSQL (в рамках Supabase).

3️⃣ SQL не является регистрозависимым, но хорошей практикой является писать названия функций в высоком регистре для простоты чтения запросов.

4️⃣ Основные операторы в БД - SELECT (выбор данных), INSERT (добавление), UPDATE (обновление) и DELETE (удаление). На самом деле количество операторов для управления БД достаточно велико, но мы будем разбирать только те, что понадобится в рамках разработки.

5️⃣ В рамках одного запроса к БД может быть выполнено множество действий (обновление, удаление и тд), каждое действий обособляется точкой с запятой (;)


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

▫️Интерактивный онлайн учебник
▫️Старый добрый тренажер из нулевых, на котором учился я
▫️Интерактивный тренажер

Ставьте лайк и подписывайтесь, завтра мы разберем подробнее основные действия, которыми вы будете постоянно оперировать
Курс по SQL - Урок 2

Давайте представим, что у нас есть админ панель с таблицей пользователей (users) и полями имя (name) и возраст (age).

Name - Age

Max - 17
Jack - 24
Ben - 45


Совершая различные действия в интерфейсе продукта (нажатие кнопок, загрузка страниц/таблиц) в большинстве случаев вы взаимодействуете с БД и выполняете CRUD операции - create, read, update, delete.

Для выполнения этих операций требуется отправить запрос с определенным оператором (SELECT, INSERT…).
При этом каждый из операторов состоит из нескольких разделов(FROM, WHERE…), которые записываются в определенной последовательности.

SELECT - позволяет выбрать нужные записи из таблицы.

Структура - SELECT название полей FROM название_таблицы

Примечания - Вы можете получить все поля с помощью (*) или только определенные, указав их название через запятую.

Пример - SELECT name, age FROM users


INSERT - позволяет добавить новые записи в таблицу.

Структура - INSERT INTO название_таблицы (столбец1, столбец2, ...) VALUES (значение1, значение2, ...)

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

Пример - INSERT INTO users (name, age) VALUES ('John', 25)


UPDATE - позволяет изменить существующие записи в таблице.

Структура - UPDATE название_таблицы SET столбец1 = значение1, столбец2 = значение2, ... WHERE условие

Примечания - Вы указываете название таблицы и устанавливаете новые значения для указанных столбцов. Условие после ключевого слова WHERE определяет, какие записи будут обновлены.

Пример - UPDATE users SET age = 29 WHERE name = ‘Jack’


DELETE - позволяет удалить записи из таблицы.

Структура - DELETE FROM название_таблицы WHERE условие

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

Пример - DELETE FROM users WHERE name = ‘Ben’

⬇️ Итоговый вид таблицы после выполнения операций:

Name - Age

Max - 17
Jack - 29
John - 25


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

Я рассказывал ранее, что мы с ребятами пытаемся научиться генерировать лидов в холодную. Одним из первых этапов является изучение работы по JTBD/поиск проблемы через кастдев экспертов из выбранной отрасли.

В пятницу я пригласил к нам эскперта по этой теме - Сабину Карпекину. Она является CEO агентства продуктовых исследований и помогает компаниям исследовать рынок и валидировать их гипотезы.

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

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

1️⃣ Введение + установление эмоционального контакта - настройте вашего собеседника на нужный лад немного разогрев перед интервью и расскажите про структуру звонка.

2️⃣ Классифицирующий блок - соберите информацию о собеседнике, которая поможет определить его в тот или иной сегмент пользователей (к примеру живет в регионе Х, студент/работает/бизнесмен).

3️⃣ Обсуждение текущих решений - узнайте, как на данный момент выполняется текущая работа во всех деталях и с какими проблемами сталкивается собеседник.

4️⃣ Запросы - уточните, что хотелось бы улучшить в текущем решении задачи.

5️⃣ Решенческая часть (опционально) - если вы уже имеете гипотезу по решению проблемы, которая есть у собеседника, презентуйте свое решение и узнайте готов ли он ее купить.

Если вы хотите узнать больше про проведение продуктовых исследований - подписывайтесь на канал Сабины.

____

Ставьте лайк и подписывайтесь, завтра выйдет следующий урок по SQL
Курс по SQL - Урок 3

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

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

Первичный ключ может быть числом, текстом, уникальным идентификатором - uuid или композитным ключом, состоящим из комбинирования двух других полей (“Max”+”17” - в таблице может быть другой Max, но не может быть двух Max’ов, которым 17 лет)

Добавим первичный ключ в нашу таблицу:

ID - Name - Age

1 - Max - 17
2 - Jack - 29
3 - John - 25


Теперь рассмотрим другие разделы оператора SELECT:

WHERE - позволяет фильтровать записи в таблице на основе указанного условия.

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

Пример - SELECT * FROM users WHERE age > 18


ORDER BY - позволяет отсортировать записи в таблице по указанным столбцам.

Примечания - Вы указываете один или несколько столбцов после ключевого слова ORDER BY, чтобы определить порядок сортировки. По умолчанию сортировка происходит по возрастанию ASC, но вы можете указать DESC для сортировки по убыванию.

Пример - SELECT * FROM users ORDER BY age DESC


LIMIT - позволяет ограничить количество записей, возвращаемых в результате запроса.

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

Пример - SELECT * FROM users LIMIT 10


OFFSET - позволяет пропустить указанное количество записей перед началом выборки результатов.

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

Пример - SELECT * FROM users LIMIT 10 OFFSET 20


Ставьте лайк и подписывайтесь, в следующем уроке разберем группировку результатов и соединение с другими таблицами
Please open Telegram to view this post
VIEW IN TELEGRAM
4 UX инсайта с последнего проекта

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

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

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

https://telegra.ph/4-UX-insajta-s-poslednego-proekta-04-29-2

Ставьте лайк и подписывайтесь, неделя обещает быть жаркой 🔥
Курс по SQL - Урок 4

Продолжаем изучать SQL и сегодня разберем более сложную тему - оператор JOIN и как работают соединения таблиц.

https://telegra.ph/Kurs-po-SQL---Urok-4-05-01

Ставьте лайк и подписывайтесь, на следующей неделе разберем кейс магазина вещей с Poizon в ТГ - разработчики на коде просили 15 млн., но я сделал за…
Please open Telegram to view this post
VIEW IN TELEGRAM
Кейс магазина вещей с Poizon или сколько стоит то, за что кодеры хотели 15 млн.

В конце прошлого года мои знакомые обратились ко мне с мини-проектом - они хотели запустить магазин вещей с Poizon, но разработка полноценного приложения, как у конкурентов, стоила около 10-15 млн. рублей.

Поэтому они остановились на идее бота-калькулятора в ТГ для расчета стоимости на основе ссылки на товар.

Я изучил Poizon и предложил им сделать полноценный магазин с прямой интеграцией к их внутреннему API.

🔽 Что из этого вышло и сколько это стоило

https://telegra.ph/Kejs---TG-magazin-veshchej-s-Poizon-05-08

Ставьте лайк и подписывайтесь, на следующей неделе разберем, как искать хорошие ниши с клиентами на Upwork
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Боли VS Идеи: Часть 2 - Боли

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

Чтобы выйти со среднего дохода в $1.5к (исходя из опроса подписчиков), одних технических навыков недостаточно.

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

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

https://teletype.in/@lowcodingdev/bolivsidei---2

Ставьте лайк и подписывайтесь, в следующем посте посмотрим, что способна генерировать новая AI фича от Bubble
Please open Telegram to view this post
VIEW IN TELEGRAM
Генерируем дашборд с Bubble AI

Недавно в аккаунте Bubble одного из моих проектов появилась долгожданная фича для генерации страниц с помощью AI.

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

Сегодня разберем, что я успел понять об этой фиче.

https://teletype.in/@lowcodingdev/bubble-ai

Ставьте лайк и подписывайтесь, в следующий раз разберем использование сервиса Deezign для импорта дизайна в Bubble из Figma
Всем привет!

Пока я погребен под наплывом новых проектов нет времени на хорошие посты, поэтому накинем немного лайфстайла.

В январе я рассказывал о важности целеполагания и своих целях на год.

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

На следующие 3 года я стал резидентом Испании и все благодаря ноукоду.

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

Желаю и вам в этом году достигнуть поставленных целей!

А мы продолжаем двигаться дальше, ведь осталось еще 2 незакрытых цели 😉
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM