Обожаю искать вещи на барахолках, и чтобы не тратить время на OLX, создал бот, который делает это за меня
Highload продолжает публиковать истории о pet-проектах, вошедших в топ-20 лучших по итогам голосования наших читателей. Параллельно эти проекты оценивает жюри из опытных разработчиков и инвесторов. Победителей конкурса мы планируем объявить 10 июля.
Лучшие проекты получат призы от компании Genesis: занявший первое место — Apple iPhone 12 64GB, второе место — наушники Marshall Monitor II ANC Black, третье — набор Arduino.
Дальше — рассказ разработчика Андрей Каплуненко о его pet-проекте — агрегатор барахолок Sherlock.
Идея
Андрей Каплуненко — разработчик агрегатора барахолок Sherlock
Идея проекта пришла сама. Кроме того, что я люблю программировать, также коллекционирую пленочные фотоаппараты, керосиновые лампы, винтажные микрофоны и прочий раритет — одним словом и не опишешь.
Раньше я много покупал на eBay, но сегодня это стало не очень рационально, так как стоимость доставки из цивилизованных стран в Украину зачастую выше или сравнима с ценой товара. Поэтому какие-то запчасти и прочие «ардуинки» я покупаю на AliExpress, а если нужно что-то редкое, коллекционное или просто специфическое, то ищу на наших барахолках.
И вместо того, чтобы каждый день проверять OLX на предмет «а не появился ли, наконец, этот редкий объектив для среднего формата», я решил сделать робота, который будет делать это за меня и просто присылать ежедневный отчет на почту. Сервис призван облегчить поиск редких товаров на нескольких барахолках сразу.
Реализация и технологии
Я построил свой агрегатор на Drupal 8, потому что компания, где я работал, как раз планировала переход с Drupal 7 на Drupal 8 и мне хотелось в нем побыстрее разобраться. В качестве СКВ используется Git.
На данный момент все реализовано на Drupal, поэтому там нет выделенной фронтендной части. Но в будущем я планирую перепилить проект, частично его упростить (а именно: покрыть больше маркетов — добавить Prom, Bigl, Oxo, Violity, но в то же время сделать проект проще: убрать поиск по расписанию с отчетами на почту). Бэкенд будет представлять собой чисто API (без фронтенда), а фронт будет отдельно написан на Vue, с чем мне поможет жена.
Сейчас основное узкое место — механизм кеширования картинок. Картинки объявлений тянутся по очереди средствами PHP, то есть в один поток, что получается очень медленно. Нужно будет прикрутить Guzzle или что-то подобное, еще не разбирался.
Также разные маркеты предоставляют картинки в разных форматах, иногда без указания расширения: приходится динамически определять их MIME-тип по содержимому и подставлять правильные расширения. В общем, сложность в том, что к каждому маркету нужен индивидуальный подход.
С хранением в базе состояния многошаговой Drupal-формы с произвольным количеством полей тоже пришлось повозиться — это не так просто сделать, как казалось изначально.
В какой стадии проект
Проект готов и работает. Но буду переделывать.
Аудиторные показатели слабые. Я и не рекламировал его особо. Думаю, он слишком сложен. Я показывал многим людям, и они сразу же начинали использовать конструктор поисковых запросов как угодно, но не так как нужно.
В результате заполнения формы конструктор создаст шесть возможных комбинаций поисковых слов:
- лампа гасова;
- лямпа гясова;
- светильник гасова;
- лампа керосиновая;
- лямпа керосиновая;
- светильник керосиновая.
И вот по этим запросам будет произведен поиск, потом отфильтрованы дубликаты и показан результат. Такой конструктор позволяет задать ключевые слова как в правильном написании, так и с частыми ошибками, чтобы получить максимум результатов на выходе. Поиск можно сохранить и использовать в будущем для ручного или автоматического поиска. Но, по-моему, это слишком сложно!
Монетизация
Монетизации пока нет. В планах — упростить проект, сделать из него поисковик по маркетам, и тогда будет уместно прикрутить контекстную рекламу.
Как будут оценивать проект
В рамках конкурса pet-проектов разработчики и инвесторы оценят проект Sherlock по таким критериям:
1. Оригинальность идеи.
2. Качество кода.
3. Технический уровень.
4. Жизнеспособность идеи.
5. Перспективы проекта как бизнеса.
6. Инвестиционная привлекательность.
Победителей среди 20 кейсов определят на основе оценок инвесторов (45%), разработчиков (45%) и голосов читателей Highload (10%).
Более подробно, кто и как будет оценивать кейсы, можно прочитать здесь: статья об экспертах, критериях и правилах конкурса.
Проект Sherlock оценивают:
Максим Федоров
Senior PHP Developer в Yellow Stone.
Оценивает проекты по backend PHP и веб-разработке. Свой путь в IT Максим начинал как разработчик программного обеспечения для ПК в 2008 году. Затем перешел в веб-разработку, так как считает эту отрасль интересной в техническом плане и дающей множество возможностей. Последние 6 лет работает над разными проектами в качестве backend-разработчика, имеет опыт управления командами до десяти человек.
Елена Мажуга
Старший инвестиционный аналитик Genesis Investments.
Роман Бабицкий
Основатель инвесткомпании Babitskyi Investment, глава совета по вопросам иностранных инвестиций и экономического развития Украины.
Дмитрий Томчук
Основатель инвестиционного фонда Fison.
Дмитрий Олареско
CEO Beetroot Academy, ex Drupal Architect.
16 лет в разработке. Из них более 10 лет посвятил веб-разработке на Drupal для таких клиентов как Johnson&Johnson, Louis Vuitton Moët Hennessy, Valeo. Активный участник и спикер международного Drupal-сообщества, организатор Drupal-мероприятий в Харькове. В 2020 году перешел в сферы IT-образования и социального предпринимательства.
Сообщить об опечатке
Текст, который будет отправлен нашим редакторам: