Как два разработчика за год запустили 5 проектов. Проект 1: «Генератор интернет-магазинов на основе инстаграм профиля»
Invite pending
“Свой проект — мечта любого разработчика” — подумали мы и решили сделать что-то “своё”. Мы — два разработчика, которым интересно в свободное от работы время делать пет-проекты, за последний год до релиза дожили 5 проектов. Наша мотивация — получить дополнительные очки профессионального развития и практиковаться в новых, интересных и перспективных технологиях. Сегодня я хочу рассказать об одном из наших проектов — innstoria.com. Сервисе по генерации интернет-магазина на основе инстаграм профиля.

Всё просто (думали мы), пользователь вводит свой инстагрм
Итоговым результатом для пользователя будет полноценный интернет магазин, с разделами, корзиной, товарами и личным кабинетом. За этим магазином даже не нужно следить, парсер автоматически будет подтягивать новые посты из инстаграма, цену будет доставать из описания поста, а новые заказы с сайта будут приходить в личные сообщения инстаграм. Владелец магазина получает новый канал для продаж без головной боли. Погнали.
Опросили знакомых и незнакомых владельцев инстаграм магазинов, фаза рисёрча дала нам следующую информацию:
За время совместной работы мы набили руку в быстрой разработке проектов. Исходя из наших навыков делаем по отдельности бекенд и фронтенд.
Вначале создём репозитории на GitHub и проекты на Heroku, подключаем репозитории к Heroku autodeploy. Всего за 10 минут мы имеем автодеплой нашего приложения. Теперь у нас есть два серевра для разработки, бесплатно. Базу данных подымаем на сервисе mlab, опять бесплатно. Дизайн сделали своими силами в Invision, можно начинать разработку.

На бекенде выбрали стэк Node.js/Nest.js+MongoDB из-за крайне высокой скорости разработки.
На фронтенде выбрали Ionic/Angular8 по трём причинам
В свободное от работы время начинаем делать проект. Основной проблемой стал инстаграм, который не давал нам сделать то что мы хотим всеми способами. В итоге наткнулись на библиотеку instagram-private-api, которая имитирует работу реального андроид девайса. Кормим библиотеке логин и пароль своего инстаграм аккаунта и теперь мы можем отправлять людям сообщения в директ, получать данные их профиля и их посты.
Настраиваем HTTPS. Боль, сертификат который будет поддерживать wildcard сабдомены
Работая по вечерам и выходным, в обстановке covid’a за 3-4 месяца мы делаем MVP, первую рабочую версию. Показываем знакомым, вносим правки, фиксим баги.
Что мы сделали правильно:
Что мы сделали неправильно:
Реализовано. Парсер есть, логика продумана и реализована, фронтенд работает, сабдомены работают, этап тестированеия пройден с кровью и потом.

Делаем тестовый запуск, создаём пробные магазины, настраиваем SEO (в меру своих возможностей), генерируем sitemap, магазины появляются в выдаче Google, супер.
Пишем в реальные инстаграм магазины, реальные пользователи начинают пользоваться сервисом, дают фидбэк.
Потратив ~600 человекочасов, мы сделали сервис по созданию интернет-магазина на основе инстаграм профиля.
Наш бюджет:

Всё просто (думали мы), пользователь вводит свой инстагрм
@username
, мы парсим данные с открытого инстаграм профиля, достаём посты и генерируем магазин с уникальным сабдоменом {instagram_username}.innstioria.com
. Делаем всё это бесплатным, как обычно, ради искусства.Итоговым результатом для пользователя будет полноценный интернет магазин, с разделами, корзиной, товарами и личным кабинетом. За этим магазином даже не нужно следить, парсер автоматически будет подтягивать новые посты из инстаграма, цену будет доставать из описания поста, а новые заказы с сайта будут приходить в личные сообщения инстаграм. Владелец магазина получает новый канал для продаж без головной боли. Погнали.
Предварительное исследование
Опросили знакомых и незнакомых владельцев инстаграм магазинов, фаза рисёрча дала нам следующую информацию:
- Проект нужен и востребован потенциальными пользователями
- Владельцы магазинов в инстаграм не хотят вводить свой логин и пароль на чужих сайтах, даже если это реализовано через официальное API фейсбука
- Для большинства пользователей актуальна только мобильная версия
Разработка
За время совместной работы мы набили руку в быстрой разработке проектов. Исходя из наших навыков делаем по отдельности бекенд и фронтенд.
Вначале создём репозитории на GitHub и проекты на Heroku, подключаем репозитории к Heroku autodeploy. Всего за 10 минут мы имеем автодеплой нашего приложения. Теперь у нас есть два серевра для разработки, бесплатно. Базу данных подымаем на сервисе mlab, опять бесплатно. Дизайн сделали своими силами в Invision, можно начинать разработку.

На бекенде выбрали стэк Node.js/Nest.js+MongoDB из-за крайне высокой скорости разработки.
На фронтенде выбрали Ionic/Angular8 по трём причинам
- Высокая скорость разработки,
- Была идея сделать приложение mobile friendly, чтобы даже элементы контроля выглядели нативно, это нам давала библиотека UI элементов Ionic.
- Казалось полезным в любой момент иметь возможность конвертировать всё в мобильное приложение.
В свободное от работы время начинаем делать проект. Основной проблемой стал инстаграм, который не давал нам сделать то что мы хотим всеми способами. В итоге наткнулись на библиотеку instagram-private-api, которая имитирует работу реального андроид девайса. Кормим библиотеке логин и пароль своего инстаграм аккаунта и теперь мы можем отправлять людям сообщения в директ, получать данные их профиля и их посты.
Настраиваем HTTPS. Боль, сертификат который будет поддерживать wildcard сабдомены
*.website.com
стоит 80 долларов, покупаем. Работая по вечерам и выходным, в обстановке covid’a за 3-4 месяца мы делаем MVP, первую рабочую версию. Показываем знакомым, вносим правки, фиксим баги.
Что мы сделали правильно:
- Опросили потенциальных пользователей ещё до начала разработки
- Выбрали отличный стек технологий (Nest.js + Ionic/Angular8 + Heroku) и начали делать веб-приложение с mobile-first подходом
- Быстро стартовали, пока глаза горели
Что мы сделали неправильно:
- Искали, но не нашли такие же проекты (они существуют, но уже скорее мертвы чем живы)
- Решили давать пользователю сайт с уникальным сабдоменом. Возни много, а тестовые пользователи сказали что даже не обращают на это внимание.
- Сделали проект на основе чужих данных, нам в любой момент могут перекрыть кислород
Реализовано. Парсер есть, логика продумана и реализована, фронтенд работает, сабдомены работают, этап тестированеия пройден с кровью и потом.

Делаем тестовый запуск, создаём пробные магазины, настраиваем SEO (в меру своих возможностей), генерируем sitemap, магазины появляются в выдаче Google, супер.
Пишем в реальные инстаграм магазины, реальные пользователи начинают пользоваться сервисом, дают фидбэк.
Итог
Потратив ~600 человекочасов, мы сделали сервис по созданию интернет-магазина на основе инстаграм профиля.
Наш бюджет:
- Платный бекенд сервер Heroku — $7 месяц
- Платный фронтенд сервер Heroku — $7 месяц
- Домен innstoria.com — $15
- SSL сертификат с поддержкой wildcard сабдоменов — $80
Дальнейшие планы
- Приглашать пользователей и получать от них фидбэк
- Стабилизировать работу текущей функциональности
- Сделать первый маркетплейс инстаграм магазинов