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

Оленка Пилипчак

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

Лучшие проекты получат призы от компании Genesis: занявший первое место — Apple iPhone 12 64GB, второе место — наушники Marshall Monitor II ANC Black, третье — набор Arduino.

Дальше — рассказ разработчика Марьяна Зозули о его pet-проекте — маркетплейсе для аренды вещей Phoqer.

Идея

Марьян Зозуля, разработчик приложения Phoqer

История возникновения идеи проекта корнями уходит в мои студенческие годы. Все началось с переезда в Польшу. Тогда не было возможности позволить себе снять обставленную квартиру — денег было достаточно только на маленькую пустую комнату в общежитии. И в процессе обустройства я купил много техники.

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

Так и возникла мысль создать Phoqer — маркетплейс для аренды вещей.

Наш проект нацелен на людей, которые:

  • Хотят купить вещь, но не до конца уверены, что она им нужна. Их останавливает страх отдать круглую сумму за товар, который потом будет стоять без дела (например, бытовая техника).
  • Понимают, что не будут часто пользоваться товаром, их больше интересуют новые впечатления (VR-очки, консоли, игровые компьютеры).
  • Не могут позволить покупку профессиональной техники или снаряжения. Но при этом желание или необходимость пользоваться такими товарами никуда не девается (велосипеды для участия в гонках, оборудование для походов, дроны, камеры, микрофоны, стабилизаторы, рекордеры).
  • Хотят сдать вещи в аренду. К примеру, мелкие предприниматели с бизнесом по аренде вещей (прокат велосипедов, специального оборудования, техники), но при этом у них нет средств для ведения полномасштабной маркетинговой кампании по привлечению клиентов.

Маркетплейс Phoqer помогает взять или дать вещи в аренду

Реализация и технологии

В проекте использованы:

  • Frontend: Next.js.

Мы предположили, что большая часть потенциальных клиентов будет находить нас по выдачам из поисковых систем. Для этого нужен был инструмент, который не вредит SEO. После короткого ознакомления с основами поисковой оптимизации перед нами стала задача реализовать SSR (Server Side Rendering), так как поисковые боты Google в моменте индексации не интерпретируют JavaScript-код. Хотелось иметь что-то такое же быстрое как React и максимально на него похожее, при этом не терять время на изучение нового фреймворка.

  • Backend: FastAPI running under Uvicorn.

FastAPI выбрали за простоту, скорость, гибкость и встроенную поддержку асинхронности. Проект я решил стартовать на Django Rest Framework. Но чем больше я писал на DRF, тем больше меня не покидало ощущение магии вокруг всего происходящего. До этого на работе я использовал только микрофреймворк Flask. На нем есть четкое понимание всего, что происходит при обработке запросов, и этого чувства контроля за происходящим очень не хватало при использовании DRF.

  • DB: Postgresql.

Просто наш бэкендщик умеет только в Postgres! DB делает свою работу и пока нареканий нет. Экспериментировать с чем-то другим желания нет тоже.

  • CI/CD: GitHub Actions, которые по ssh дергают Docker Compose на нашем VPS.

Все работает в контейнерах. Но тут, наверное, нечем гордиться, так как это уже практически устоявшийся стандарт в индустрии.

  • IDE: продукты от JetBrains. PyCharm, WebStorm.

В нем уже «из коробки» получаешь все, что нужно для работы. Я помню, пробовал пользоваться VS Code, когда он обрел популярность — ужасно не понравилось. Пришлось возиться с выпиливанием, чтобы заработали все линтеры, дебагер, искать какие-то плагины для затыкания дырок. В общем, все то, что в продуктах от JetBrains получаешь «из коробки», в случае с VS Code пришлось доводить до ума напильником.

  • Proxy: Nginx.
  • Система управления версиями: Git. А что, разве бывают какие-то другие?
  • Разные части кода соединяли через Network между Docker-контейнерами. Все общение происходит по HTTP через REST API.

Разные части кода соединены через Network между Docker-контейнерами

С какими трудностями столкнулись

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

Трудность заключается в новом для нас процессе SSR.  Некоторые части проекта рендерятся на клиенте, а некоторые — на сервере, и к клиенту приходят сразу в готовом HTML. Нужно было сделать так, чтобы Next.js умел делал запросы на бэкенд, находясь за прокси. И чтобы запросы, которые идут с браузера тоже через прокси, попадали на бэкенд. С виду может показаться, что это тривиальная задача, но нехватка опыта и неуверенность в использовании docker-compose в связке, когда есть прокси сервер, и иногда очень странное поведение самого Next.js, сыграли свою роль. Все это приводило к тому, что в два часа ночи ты сначала не понимаешь, почему оно перестало работать, а уже под утро, после решения проблемы, еще больше удивляешься тому, как оно вообще работало до этого.

И небольшой проблемой стало то, что ни у кого из нас не было опыта по старту проекта с нуля. Пришлось, закатав рукава, перечитать тонну мануалов на разные темы: от момента выбора и регистрации домена и до построения CI/CD pipeline, а также выбора инструментов для организации взаимодействия в команде.

Приложение Phoqer для аренды вещей

Команда

Команда состоит из двух человек. Марьян пишет бэкенд и занимается вопросами инфраструктуры. Игорь отвечает за фронтенд. Оба участника команды работают в IT-компаниях.

В какой стадии проект

Проект находится в активной фазе разработки. Инфраструктурно мы уже готовы принимать первых пользователей, куплен домен, настроена система CI/CD, настроена коммуникация между фронтендом и бэкендом, учтено много других инфраструктурных моментов. Но функционально сайт еще требует доработки.

Монетизация

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

Все позиции мы разделяем по сложности и планируем внедрять по мере перехода от mvp к полноценно работающей платформе:

  1. Контекстная реклама. Простой, но не самый прибыльный вариант. Внедрить ее на этапе mvp будет просто и это не вызовет значительного отторжения со стороны клиентов, так как люди привыкли видеть такую рекламу на сайтах. При грамотном подходе она будет гармонично смотреться на сайте для аренды вещей.
  2. Реклама на платформе. Этот вариант сложнее в реализации, так как во многом зависит от активности пользователей, но перспективы у него значительно выше. Объявления, у которых оплачен топ-статус, всегда будут выделены на сайте и при поиске будут выводиться на первый план. При этом нужно учесть, что это не будет влиять на качество поиска, чтобы у пользователя не пропало желание пользоваться сайтом из-за превалирования рекламы. Для стимулирования на начальных этапах будут предоставляться бесплатные 30 дней размещения объявления в топ.
  3. Контроль за проведением сделки. К этому стремится весь наш проект. Задача — сделать платформу максимально надежной за счет контроля перевода средств за аренду вещей. Соответственно, арендодатели и арендаторы получат большую уверенность в успешности сделки за символический процент от стоимости аренды.
  4. Возможность арендовать технику на платформе для дальнейшей сдачи. Реализация будет происходить в момент, когда платформа начнет получать доход от предыдущих пунктов, поскольку потребуются определенные финансовые вложения и наличие персонала для контроля операционной деятельности. Пользователям будет предоставлена возможность арендовать вещь у платформы на определенный срок (не меньше месяца) по заниженной цене. Это будет возможно только для передачи в аренду другим пользователям и заработка на разнице в ценах.

Как будут оценивать проект

В рамках конкурса pet-проектов разработчики и инвесторы оценят проект Phoqer по таким критериям:

1. Оригинальность идеи.

2. Качество кода.

3. Технический уровень.

4. Жизнеспособность идеи.

5. Перспективы проекта как бизнеса.

6. Инвестиционная привлекательность.

Победителей среди 20 кейсов определят на основе оценок инвесторов (45%), разработчиков (45%) и голосов читателей Highload (10%).

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

Проект Phoqer оценивают:

Дмитрий Грищенко

Full-stack Software Engineer (JavaScript, TypeScript), Innovecs.

Оценивает проекты по Frontend JavaScript и TypeScript. Его коммерческий опыт с JavaScript – около пяти лет. Начинал как фронтенд-девелопер, со временем освоил Node.js и таким образом перешел на full-stack.

Марк Олейник

Front-End Developer в YouScan.

Оценивает проекты на React. Марк занимается фронтендом уже больше пяти лет и «очень кайфует» от этой работы с ее особенной ответственностью перед пользователем. Он посмотрел на индустрию с разных сторон: начинал свой путь с фриланса, позже работал в небольшом стартапе, после чего попал в YouScan. Кроме того, с 2017 по 2019 год вместе с командой занимался организацией митапов React Kyiv.

Елена Мажуга

Старший инвестиционный аналитик Genesis Investments.

Роман Бабицкий

Основатель инвесткомпании Babitskyi Investment, глава совета по вопросам иностранных инвестиций и экономического развития Украины.

Дмитрий Томчук

Основатель инвестиционного фонда Fison.

Останні статті

Обучение Power BI – какие онлайн курсы аналитики выбрать

Сегодня мы поговорим о том, как выбрать лучшие курсы Power BI в Украине, особенно для…

13.01.2024

Work.ua назвал самые конкурентные вакансии в IТ за 2023 год

В 2023 году во всех крупнейших регионах конкуренция за вакансию выросла на 5–12%. Не исключением…

08.12.2023

Украинская IT-рекрутерка создала бесплатный трекер поиска работы

Unicorn Hunter/Talent Manager Лина Калиш создала бесплатный трекер поиска работы в Notion, систематизирующий все этапы…

07.12.2023

Mate academy отправит работников в 10-дневный оплачиваемый отпуск

Edtech-стартап Mate academy принял решение отправить своих работников в десятидневный отпуск – с 25 декабря…

07.12.2023

Переписки, фото, история браузера: киевский программист зарабатывал на шпионаже

Служба безопасности Украины задержала в Киеве 46-летнего программиста, который за деньги устанавливал шпионские программы и…

07.12.2023

Как вырасти до сеньйора? Девелопер создал популярную подборку на Github

IT-специалист Джордан Катлер создал и выложил на Github подборку разнообразных ресурсов, которые помогут достичь уровня…

07.12.2023